Commits:
12 changed files:
Changes:
doc/how-to-update-gradle-dependencies-list.md
| ... |
... |
@@ -13,8 +13,6 @@ |
|
13
|
13
|
5. Extract it.
|
|
14
|
14
|
6. Move the `gradle-dependencies-list.txt` you just extracted to
|
|
15
|
15
|
`projects/<project name>/`.
|
|
16
|
|
-7. Bump `var/gradle_dependencies_version`.
|
|
17
|
|
- The preferred format is `<project version>-<list version>`.
|
|
18
|
16
|
|
|
19
|
17
|
Theoretically, it should be also possible to set
|
|
20
|
18
|
`generate_gradle_dependencies_list: 1` in `rbm.local.conf`, run a full build and
|
| ... |
... |
@@ -68,13 +66,8 @@ from the output artifact. |
|
68
|
66
|
|
|
69
|
67
|
New Android projects should be setup to do this.
|
|
70
|
68
|
|
|
71
|
|
-> **Important**: dependencies are keyed and cached. So, after updating the list,
|
|
72
|
|
-> you must also bump `var/gradle_dependencies_version`.
|
|
73
|
|
-
|
|
74
|
|
-This used to be an integer, but to avoid clashes between the main and
|
|
75
|
|
-maintenance branches, we decided to switch to a
|
|
76
|
|
-`<project version>-<list version>` format.
|
|
77
|
|
-Usually, the list version will be `1`.
|
|
|
69
|
+Dependencies are keyed and cached. The key is a checksum of the
|
|
|
70
|
+gradle-dependencies-list.txt file.
|
|
78
|
71
|
|
|
79
|
72
|
## Consuming the list
|
|
80
|
73
|
|
| ... |
... |
@@ -86,6 +79,8 @@ hashes of all the other artifacts. |
|
86
|
79
|
You can wire it in your project with code that looks like this:
|
|
87
|
80
|
|
|
88
|
81
|
```yaml
|
|
|
82
|
+- filename: gradle-dependencies-list.txt
|
|
|
83
|
+ name: gradle-dependencies-list
|
|
89
|
84
|
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
|
|
90
|
85
|
name: gradle-dependencies
|
|
91
|
86
|
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
|
projects/application-services/config
| ... |
... |
@@ -20,8 +20,6 @@ container: |
|
20
|
20
|
|
|
21
|
21
|
var:
|
|
22
|
22
|
build_number: 1
|
|
23
|
|
- # This should be updated when the list of gradle dependencies is changed.
|
|
24
|
|
- gradle_dependencies_version: 147.0-1
|
|
25
|
23
|
gradle_version: 8.14.3
|
|
26
|
24
|
nss_version: '3.118.1'
|
|
27
|
25
|
nspr_version: '4.37'
|
| ... |
... |
@@ -73,6 +71,8 @@ steps: |
|
73
|
71
|
- URL: 'https://ftp.mozilla.org/pub/security/nss/releases/NSS_[% c("var/nss_version") | replace("\\.", "_") %]_RTM/src/nss-[% c("var/nss_version") %]-with-nspr-[% c("var/nspr_version") %].tar.gz'
|
|
74
|
72
|
name: nss
|
|
75
|
73
|
sha256sum: 9e1f7da9f4e5e3bdfd73f7dc2c618d6125a12354aadaeedbb35af3699bc03e15
|
|
|
74
|
+ - filename: gradle-dependencies-list.txt
|
|
|
75
|
+ name: gradle-dependencies-list
|
|
76
|
76
|
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
|
|
77
|
77
|
name: gradle-dependencies
|
|
78
|
78
|
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
|
projects/application-services/gradle-dependencies-list.txt
|
1
|
|
-# Don't forget to update var/gradle_dependencies_version when modifying this file
|
|
2
|
1
|
sha256sum | url
|
|
3
|
2
|
6bd4c7c7476f8260cd3bdbb81183583e93fc9f790c27dea7dc314181cbf87aa0 | https://dl.google.com/dl/android/maven2/androidx/annotation/annotation-experimental/1.4.1/annotation-experimental-1.4.1.aar
|
|
4
|
3
|
2ac2f7106e12f263425b4a4dfc80989447fb895675fe902d86759aa74fd12b7d | https://dl.google.com/dl/android/maven2/androidx/annotation/annotation-experimental/1.4.1/annotation-experimental-1.4.1.module
|
projects/geckoview/config
| ... |
... |
@@ -36,9 +36,6 @@ var: |
|
36
|
36
|
- python3-zstandard
|
|
37
|
37
|
- pkg-config
|
|
38
|
38
|
- openjdk-17-jdk-headless
|
|
39
|
|
- # this should be updated when the list of gradle dependencies is changed
|
|
40
|
|
- # see doc/how-to-create-gradle-dependencies-list.txt
|
|
41
|
|
- gradle_dependencies_version: 147-1
|
|
42
|
39
|
gradle_version: 8.14.3
|
|
43
|
40
|
glean_parser: 14.0.1
|
|
44
|
41
|
# python/mozboot/mozboot/android.py
|
| ... |
... |
@@ -181,6 +178,8 @@ input_files: |
|
181
|
178
|
enable: '[% c("var/rlbox") %]'
|
|
182
|
179
|
- project: application-services
|
|
183
|
180
|
name: application-services
|
|
|
181
|
+ - filename: gradle-dependencies-list.txt
|
|
|
182
|
+ name: gradle-dependencies-list
|
|
184
|
183
|
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
|
|
185
|
184
|
name: gradle-dependencies
|
|
186
|
185
|
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
|
projects/geckoview/gradle-dependencies-list.txt
|
1
|
|
-# Don't forget to update var/gradle_dependencies_version when modifying this file
|
|
2
|
1
|
sha256sum | url
|
|
3
|
2
|
1ed13a50edbb885962751e1bcb5b8a4207a20cb780ea248ffa653aab3fb10fe9 | https://maven.google.com/androidx/activity/activity-compose/1.10.1/activity-compose-1.10.1.module
|
|
4
|
3
|
e64db6b7126fb512394bc3cf4332a38828009daa8dd56ecbe6c0c7300b2127f5 | https://maven.google.com/androidx/activity/activity-compose/1.10.1/activity-compose-1.10.1.pom
|
projects/glean/config
| ... |
... |
@@ -10,8 +10,6 @@ container: |
|
10
|
10
|
build: '[% !c("var/generate_gradle_dependencies_list") %]'
|
|
11
|
11
|
|
|
12
|
12
|
var:
|
|
13
|
|
- # This should be updated when the list of gradle dependencies is changed.
|
|
14
|
|
- gradle_dependencies_version: 66.1.1-1
|
|
15
|
13
|
gradle_version: 8.14.3
|
|
16
|
14
|
# Uncomment this to run an online build to grab an updated
|
|
17
|
15
|
# gradle-dependencies-list.txt.
|
| ... |
... |
@@ -49,6 +47,8 @@ steps: |
|
49
|
47
|
pkg_type: cargo_vendor
|
|
50
|
48
|
norec:
|
|
51
|
49
|
sha256sum: 417e8e09a7fbe3205827dfa518bfc4a7a08f1869e6d4fd9edf5d8f3f1f48061a
|
|
|
50
|
+ - filename: gradle-dependencies-list.txt
|
|
|
51
|
+ name: gradle-dependencies-list
|
|
52
|
52
|
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
|
|
53
|
53
|
name: gradle-dependencies
|
|
54
|
54
|
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
|
projects/glean/gradle-dependencies-list.txt
|
1
|
|
-# Don't forget to update var/gradle_dependencies_version when modifying this file
|
|
2
|
1
|
sha256sum | url
|
|
3
|
2
|
6bd4c7c7476f8260cd3bdbb81183583e93fc9f790c27dea7dc314181cbf87aa0 | https://dl.google.com/dl/android/maven2/androidx/annotation/annotation-experimental/1.4.1/annotation-experimental-1.4.1.aar
|
|
4
|
3
|
2ac2f7106e12f263425b4a4dfc80989447fb895675fe902d86759aa74fd12b7d | https://dl.google.com/dl/android/maven2/androidx/annotation/annotation-experimental/1.4.1/annotation-experimental-1.4.1.module
|
projects/oss-licenses-plugin/config
| ... |
... |
@@ -4,8 +4,6 @@ git_hash: 185216f8268f8b1f8bfe2377ed3e57aa73b1121c # oss-licenses-plugin-v0.10.7 |
|
4
|
4
|
git_url: https://github.com/google/play-services-plugins.git
|
|
5
|
5
|
|
|
6
|
6
|
var:
|
|
7
|
|
- # This should be updated when the list of gradle dependencies is changed.
|
|
8
|
|
- gradle_dependencies_version: 2
|
|
9
|
7
|
gradle_version: 8.14.3
|
|
10
|
8
|
|
|
11
|
9
|
container:
|
| ... |
... |
@@ -15,6 +13,8 @@ input_files: |
|
15
|
13
|
- project: container-image
|
|
16
|
14
|
- project: gradle
|
|
17
|
15
|
name: gradle
|
|
|
16
|
+ - filename: gradle-dependencies-list.txt
|
|
|
17
|
+ name: gradle-dependencies-list
|
|
18
|
18
|
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
|
|
19
|
19
|
name: gradle-dependencies
|
|
20
|
20
|
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
|
projects/oss-licenses-plugin/gradle-dependencies-list.txt
|
1
|
1
|
# On how to update dependencies see doc/how-to-create-gradle-dependencies-list.txt
|
|
2
|
|
-# Don't forget to update var/gradle_dependencies_version when modifying this file
|
|
3
|
2
|
sha256sum | url
|
|
4
|
3
|
33c839e4236eabde3896c154d120d651e72064f393e456297c92041d00cc058e | https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/7.1.0/apksig-7.1.0.jar
|
|
5
|
4
|
67a8f20626121a8e4f48fc63a392c0459173a9992eb35cc9c9c3ec82b882862c | https://dl.google.com/dl/android/maven2/com/android/tools/build/apksig/7.1.0/apksig-7.1.0.module
|
rbm
|
1
|
|
-Subproject commit 36608a50ccf8feedcd03eb846c606718f5ef2d6b |
|
|
1
|
+Subproject commit 4c881eb45291e323dcf4e4f1ae7eabed045ea8a3 |
rbm.conf
| ... |
... |
@@ -155,7 +155,7 @@ var: |
|
155
|
155
|
input_files: [% c("input_files_id") %]
|
|
156
|
156
|
build:
|
|
157
|
157
|
[% SET step = c("step") -%]
|
|
158
|
|
- [% c(step, { filename => 'f', output_dir => '/out', norec => {} }) %]
|
|
|
158
|
+ [% c(step, { filename => 'f', getting_id => 1, norec => {} }) %]
|
|
159
|
159
|
|
|
160
|
160
|
display_name: '[% c("var/Project_Name") %] [% c("var/channel") FILTER ucfirst %]'
|
|
161
|
161
|
exe_name: firefox
|
| ... |
... |
@@ -300,6 +300,8 @@ var: |
|
300
|
300
|
# be enabled in rbm.local.conf.
|
|
301
|
301
|
dev_artifacts: 0
|
|
302
|
302
|
|
|
|
303
|
+ gradle_dependencies_version: '[% c("input_files_ids_by_name/gradle-dependencies-list").split(":").1.substr(0, 15) %]'
|
|
|
304
|
+
|
|
303
|
305
|
targets:
|
|
304
|
306
|
notarget: linux-x86_64
|
|
305
|
307
|
noint:
|
tools/fix_gradle_deps.py
| ... |
... |
@@ -14,13 +14,12 @@ import requests |
|
14
|
14
|
# See https://gitlab.torproject.org/tpo/tpa/team/-/issues/41654.
|
|
15
|
15
|
requests.packages.urllib3.util.connection.HAS_IPV6 = False
|
|
16
|
16
|
|
|
17
|
|
-if len(sys.argv) < 3:
|
|
|
17
|
+if len(sys.argv) < 2:
|
|
18
|
18
|
print(
|
|
19
|
|
- f"Usage: {sys.argv[0]} project-name gradle-dep-num"
|
|
|
19
|
+ f"Usage: {sys.argv[0]} project-name"
|
|
20
|
20
|
)
|
|
21
|
21
|
sys.exit(1)
|
|
22
|
22
|
target = sys.argv[1]
|
|
23
|
|
-target_ver = sys.argv[2]
|
|
24
|
23
|
# We assume the script is in tor-browser-build/tools
|
|
25
|
24
|
tbbuild = Path(__file__).parent.parent
|
|
26
|
25
|
|
| ... |
... |
@@ -38,14 +37,18 @@ for p in java_projects: |
|
38
|
37
|
|
|
39
|
38
|
parser = re.compile(r"^([0-9a-fA-F]+)\s+\|\s+(\S+)\s*$")
|
|
40
|
39
|
pairs = []
|
|
|
40
|
+h = hashlib.sha256()
|
|
41
|
41
|
with open(tbbuild / "projects" / target / "gradle-dependencies-list.txt") as f:
|
|
42
|
42
|
for line in f.readlines():
|
|
|
43
|
+ h.update(line.encode("utf-8"))
|
|
43
|
44
|
line = line.strip()
|
|
44
|
45
|
if line[0] == '#' or line == 'sha256sum | url':
|
|
45
|
46
|
continue
|
|
46
|
47
|
m = parser.match(line)
|
|
47
|
48
|
pairs.append((m.group(2), m.group(1)))
|
|
48
|
49
|
|
|
|
50
|
+target_ver = h.hexdigest()[:15]
|
|
|
51
|
+
|
|
49
|
52
|
dest_dir = tbbuild / "out" / target / f"gradle-dependencies-{target_ver}"
|
|
50
|
53
|
dest_dir.mkdir(parents=True, exist_ok=True)
|
|
51
|
54
|
os.chdir(str(dest_dir))
|
|