Commits:
13 changed files:
Changes:
projects/android-toolchain/config
|
1
|
1
|
# vim: filetype=yaml sw=2
|
|
2
|
2
|
# FIXME: Rework this whole mess
|
|
3
|
3
|
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
|
|
4
|
|
-version: '34.0.0'
|
|
|
4
|
+version: 36.0.0
|
|
5
|
5
|
var:
|
|
6
|
6
|
setup: |
|
|
7
|
7
|
mkdir -p /var/tmp/dist
|
| ... |
... |
@@ -29,39 +29,39 @@ var: |
|
29
|
29
|
export PATH=$PATH:$GRADLE_HOME/bin
|
|
30
|
30
|
[% END -%]
|
|
31
|
31
|
google_repo: https://dl.google.com/android/repository
|
|
32
|
|
- android_api_level: 34
|
|
33
|
|
- android_release_dir: android-14
|
|
34
|
|
- android_platform_revision: '03'
|
|
35
|
|
- android_ndk_version: 26
|
|
36
|
|
- android_ndk_revision: c
|
|
37
|
|
- android_ndk_version_build: 26.2.11394342
|
|
|
32
|
+ android_api_level: 36
|
|
|
33
|
+ android_release_dir: android-16
|
|
|
34
|
+ android_platform_revision: '01'
|
|
|
35
|
+ android_ndk_version: 28
|
|
|
36
|
+ android_ndk_revision: b
|
|
|
37
|
+ android_ndk_version_build: 28.1.13356709
|
|
38
|
38
|
# We need the following two variables for get_build_tools, used by signing
|
|
39
|
39
|
# scripts.
|
|
40
|
|
- build_tools_version: 34
|
|
41
|
|
- build_tools_filename: 'build-tools_r[% c("var/build_tools_version") %]-linux.zip'
|
|
42
|
|
- build_tools_sha512sum: c28dd52f8eca82996726905617f3cb4b0f0aee1334417b450d296991d7112cab1288f5fd42c48a079ba6788218079f81caa3e3e9108e4a6f27163a1eb7f32bd7
|
|
43
|
|
- commandlinetools_version: 11076708
|
|
44
|
|
- commandlinetools_version_string: 12.0
|
|
|
40
|
+ build_tools_version: 36
|
|
|
41
|
+ build_tools_filename: 'build-tools_r[% c("var/build_tools_version") %]_linux.zip'
|
|
|
42
|
+ build_tools_sha512sum: 277c08c2dcced3c1cc46ce0349e18adc6d6d4b8739868eab5d469f9fb4e9c6b79aa9d2a6592cfc5db0ccb8690fcc75a44db4b18b03dcf349efd0eb54025ef5ca
|
|
|
43
|
+ commandlinetools_version: 13114758
|
|
|
44
|
+ commandlinetools_version_string: 19.0
|
|
45
|
45
|
input_files:
|
|
46
|
46
|
# Hashes can be compared with https://gitlab.com/fdroid/android-sdk-transparency-log/-/blob/master/checksums.json
|
|
47
|
47
|
- URL: '[% c("var/google_repo") %]/commandlinetools-linux-[% c("var/commandlinetools_version") %]_latest.zip'
|
|
48
|
48
|
name: android_commandlinetools
|
|
49
|
|
- sha256sum: 2d2d50857e4eb553af5a6dc3ad507a17adf43d115264b1afc116f95c92e5e258
|
|
|
49
|
+ sha256sum: 7ec965280a073311c339e571cd5de778b9975026cfcbe79f2b1cdcb1e15317ee
|
|
50
|
50
|
- URL: '[% c("var/google_repo") %]/android-ndk-r[% c("var/android_ndk_version") %][% c("var/android_ndk_revision") %]-linux.zip'
|
|
51
|
51
|
name: android_ndk_compiler
|
|
52
|
|
- sha256sum: 6d6e659834d28bb24ba7ae66148ad05115ebbad7dabed1af9b3265674774fcf6
|
|
|
52
|
+ sha256sum: e9f2759862cecfd48c20bbb7d8cfedbb020f4d91b5f78d9a2fc106f7db3c27ed
|
|
53
|
53
|
- URL: '[% c("var/google_repo") %]/[% c("var/build_tools_filename") %]'
|
|
54
|
54
|
name: build_tools
|
|
55
|
55
|
sha512sum: '[% c("var/build_tools_sha512sum") %]'
|
|
56
|
|
- - URL: '[% c("var/google_repo") %]/platform-[% c("var/android_api_level") %]-ext7_r[% c("var/android_platform_revision") %].zip'
|
|
|
56
|
+ - URL: '[% c("var/google_repo") %]/platform-[% c("var/android_api_level") %]_r[% c("var/android_platform_revision") %].zip'
|
|
57
|
57
|
name: platform
|
|
58
|
|
- sha256sum: 16fdb74c55e59ae3ef52def135aec713508467bd56d7dabcd8c9be31fa8b20f3
|
|
|
58
|
+ sha256sum: a5273f7d68de0a6a58032b26c24965634bc14ed3839e70a3a9759369f3f6c02a
|
|
59
|
59
|
# ./mach bootstrap is fetching the latest version, so it does not seem to
|
|
60
|
60
|
# matter which particular version we are using. Pin to the one fitting best to
|
|
61
|
61
|
# SDK version/build-tools version.
|
|
62
|
62
|
- URL: '[% c("var/google_repo") %]/platform-tools_r[% c("version") %]-linux.zip'
|
|
63
|
63
|
name: platform_tools
|
|
64
|
|
- sha256sum: 8137c2834dea05cb64c1a8bc041ea00fcd43e3a8a29429ad4f25b8ee51efebf6
|
|
|
64
|
+ sha256sum: 0ead642c943ffe79701fccca8f5f1c69c4ce4f43df2eefee553f6ccb27cbfbe8
|
|
65
|
65
|
steps:
|
|
66
|
66
|
# The get_build_tools step is used by tools/signing/android-signing
|
|
67
|
67
|
get_build_tools:
|
projects/application-services/a-s-noop.diff
|
|
1
|
+diff --git a/build-scripts/component-common.gradle b/build-scripts/component-common.gradle
|
|
|
2
|
+index a126341b0..3b3579290 100644
|
|
|
3
|
+--- a/build-scripts/component-common.gradle
|
|
|
4
|
++++ b/build-scripts/component-common.gradle
|
|
|
5
|
+@@ -111,16 +111,30 @@ ext.configureUniFFIBindgen = { crateName ->
|
|
|
6
|
+ commandLine "${mozconfig.topobjdir}/dist/host/bin/embedded-uniffi-bindgen", 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format'
|
|
|
7
|
+ }
|
|
|
8
|
+ } else {
|
|
|
9
|
+- def libraryPath = megazordNative.asFileTree.matching {
|
|
|
10
|
+- include "${nativeRustTarget}/libmegazord.*"
|
|
|
11
|
+- }.singleFile
|
|
|
12
|
+-
|
|
|
13
|
+- if (libraryPath == null) {
|
|
|
14
|
+- throw new GradleException("libmegazord dynamic library path not found")
|
|
|
15
|
+- }
|
|
|
16
|
+- exec {
|
|
|
17
|
+- workingDir project.rootDir
|
|
|
18
|
+- commandLine '/usr/bin/env', 'cargo', 'uniffi-bindgen', 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format'
|
|
|
19
|
++ if (crateName.toString().contains("places")) {
|
|
|
20
|
++ def libraryPath = megazordNative.asFileTree.matching {
|
|
|
21
|
++ include "${nativeRustTarget}/libmegazord.*"
|
|
|
22
|
++ }.singleFile
|
|
|
23
|
++
|
|
|
24
|
++ if (libraryPath == null) {
|
|
|
25
|
++ throw new GradleException("libmegazord dynamic library path not found")
|
|
|
26
|
++ }
|
|
|
27
|
++ exec {
|
|
|
28
|
++ workingDir project.rootDir
|
|
|
29
|
++ commandLine '/usr/bin/env', 'cargo', 'uniffi-bindgen', 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format'
|
|
|
30
|
++ }
|
|
|
31
|
++ } else {
|
|
|
32
|
++ def libraryPath = "${project.rootDir}/megazords/full/target/debug/libmegazord.so"
|
|
|
33
|
++ exec {
|
|
|
34
|
++ workingDir project.rootDir
|
|
|
35
|
++ def command = ["${rootProject.projectDir}/uniffi-rs/uniffi-bindgen", 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format']
|
|
|
36
|
++ println "Executing command: ${command.join(' ')}"
|
|
|
37
|
++ commandLine command
|
|
|
38
|
++
|
|
|
39
|
++ // Print both stdout and stderr to Gradle's console
|
|
|
40
|
++ standardOutput = System.out
|
|
|
41
|
++ errorOutput = System.err
|
|
|
42
|
++ }
|
|
|
43
|
+ }
|
|
|
44
|
+ }
|
|
|
45
|
+ }
|
|
1
|
46
|
diff --git a/components/fxa-client/android/src/main/java/mozilla/appservices/fxaclient/Config.kt b/components/fxa-client/android/src/main/java/mozilla/appservices/fxaclient/Config.kt
|
|
2
|
47
|
index 78c16dd0a..d2615fa74 100644
|
|
3
|
48
|
--- a/components/fxa-client/android/src/main/java/mozilla/appservices/fxaclient/Config.kt
|
| ... |
... |
@@ -9,10 +54,10 @@ index 78c16dd0a..d2615fa74 100644 |
|
9
|
54
|
+ is FxaServer.__NOOP -> ""
|
|
10
|
55
|
}
|
|
11
|
56
|
diff --git a/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt b/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt
|
|
12
|
|
-index 8c05be9cf..6bf2ec15d 100644
|
|
|
57
|
+index 376ef90d9..d80eea50f 100644
|
|
13
|
58
|
--- a/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt
|
|
14
|
59
|
+++ b/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt
|
|
15
|
|
-@@ -532,6 +532,8 @@ open class Nimbus(
|
|
|
60
|
+@@ -535,6 +535,8 @@ open class Nimbus(
|
|
16
|
61
|
),
|
|
17
|
62
|
)
|
|
18
|
63
|
}
|
| ... |
... |
@@ -22,10 +67,10 @@ index 8c05be9cf..6bf2ec15d 100644 |
|
22
|
67
|
}
|
|
23
|
68
|
}
|
|
24
|
69
|
diff --git a/megazords/full/Cargo.toml b/megazords/full/Cargo.toml
|
|
25
|
|
-index 75f44a812..a51c0643b 100644
|
|
|
70
|
+index c5e9eea19..ce899aac1 100644
|
|
26
|
71
|
--- a/megazords/full/Cargo.toml
|
|
27
|
72
|
+++ b/megazords/full/Cargo.toml
|
|
28
|
|
-@@ -9,21 +9,21 @@ license = "MPL-2.0"9345a6ea
|
|
|
73
|
+@@ -9,24 +9,24 @@ license = "MPL-2.0"
|
|
29
|
74
|
crate-type = ["cdylib"]
|
|
30
|
75
|
|
|
31
|
76
|
[dependencies]
|
| ... |
... |
@@ -49,6 +94,8 @@ index 75f44a812..a51c0643b 100644 |
|
49
|
94
|
-crashtest = { path = "../../components/crashtest" }
|
|
50
|
95
|
-error-support = { path = "../../components/support/error" }
|
|
51
|
96
|
-suggest = { path = "../../components/suggest" }
|
|
|
97
|
+-search = { path = "../../components/search" }
|
|
|
98
|
+-tracing-support = { path = "../../components/support/tracing" }
|
|
52
|
99
|
+# push = { path = "../../components/push" }
|
|
53
|
100
|
+# remote_settings = { path = "../../components/remote_settings" }
|
|
54
|
101
|
+# rust-log-forwarder = { path = "../../components/support/rust-log-forwarder" }
|
| ... |
... |
@@ -58,13 +105,16 @@ index 75f44a812..a51c0643b 100644 |
|
58
|
105
|
+# crashtest = { path = "../../components/crashtest" }
|
|
59
|
106
|
+# error-support = { path = "../../components/support/error" }
|
|
60
|
107
|
+# suggest = { path = "../../components/suggest" }
|
|
|
108
|
++# search = { path = "../../components/search" }
|
|
|
109
|
++# tracing-support = { path = "../../components/support/tracing" }
|
|
61
|
110
|
|
|
62
|
111
|
lazy_static = "1.4"
|
|
|
112
|
+ init_rust_components = { path = "../../components/init_rust_components" }
|
|
63
|
113
|
diff --git a/megazords/full/src/lib.rs b/megazords/full/src/lib.rs
|
|
64
|
|
-index 01d1be98b..a68eb647f 100644
|
|
|
114
|
+index 4b6ba4499..e4fde58ae 100644
|
|
65
|
115
|
--- a/megazords/full/src/lib.rs
|
|
66
|
116
|
+++ b/megazords/full/src/lib.rs
|
|
67
|
|
-@@ -8,20 +8,20 @@
|
|
|
117
|
+@@ -8,24 +8,24 @@
|
|
68
|
118
|
use std::ffi::CString;
|
|
69
|
119
|
use std::os::raw::c_char;
|
|
70
|
120
|
|
| ... |
... |
@@ -72,46 +122,37 @@ index 01d1be98b..a68eb647f 100644 |
|
72
|
122
|
-pub use crashtest;
|
|
73
|
123
|
-pub use error_support;
|
|
74
|
124
|
-pub use fxa_client;
|
|
|
125
|
+-pub use init_rust_components;
|
|
75
|
126
|
-pub use logins;
|
|
|
127
|
+-pub use merino;
|
|
76
|
128
|
-pub use nimbus;
|
|
77
|
129
|
+// pub use autofill;
|
|
78
|
130
|
+// pub use crashtest;
|
|
79
|
131
|
+// pub use error_support;
|
|
80
|
132
|
+// pub use fxa_client;
|
|
|
133
|
++// pub use init_rust_components;
|
|
81
|
134
|
+// pub use logins;
|
|
|
135
|
++// pub use merino;
|
|
82
|
136
|
+// pub use nimbus;
|
|
83
|
137
|
pub use places;
|
|
84
|
138
|
-pub use push;
|
|
85
|
139
|
-pub use remote_settings;
|
|
86
|
140
|
-pub use rust_log_forwarder;
|
|
|
141
|
+-pub use search;
|
|
87
|
142
|
-pub use suggest;
|
|
88
|
143
|
-pub use sync_manager;
|
|
89
|
144
|
-pub use tabs;
|
|
|
145
|
+-pub use tracing_support;
|
|
90
|
146
|
-pub use viaduct;
|
|
91
|
147
|
+// pub use push;
|
|
92
|
148
|
+// pub use remote_settings;
|
|
93
|
149
|
+// pub use rust_log_forwarder;
|
|
|
150
|
++// pub use search;
|
|
94
|
151
|
+// pub use suggest;
|
|
95
|
152
|
+// pub use sync_manager;
|
|
96
|
153
|
+// pub use tabs;
|
|
|
154
|
++// pub use tracing_support;
|
|
97
|
155
|
+// pub use viaduct;
|
|
98
|
156
|
// TODO: Uncomment this code when webext-storage component is integrated in android
|
|
99
|
157
|
// pub use webext_storage;
|
|
100
|
158
|
|
|
101
|
|
-diff --git a/publish.gradle b/publish.gradle
|
|
102
|
|
-index 71f5d55b9..659e26489 100644
|
|
103
|
|
---- a/publish.gradle
|
|
104
|
|
-+++ b/publish.gradle
|
|
105
|
|
-@@ -194,7 +194,11 @@ ext.configureUniFFIBindgen = { udlFilePath ->
|
|
106
|
|
- def uniffiGeneratedPath = "generated/source/uniffi/${variant.name}/java"
|
|
107
|
|
- def t = tasks.register("generate${variant.name.capitalize()}UniFFIBindings", Exec) {
|
|
108
|
|
- workingDir project.rootDir
|
|
109
|
|
-- commandLine '/usr/bin/env', 'cargo', 'uniffi-bindgen', 'generate', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
|
|
110
|
|
-+ if (udlFilePath.contains("places")) {
|
|
111
|
|
-+ commandLine '/usr/bin/env', 'cargo', 'uniffi-bindgen', 'generate', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
|
|
112
|
|
-+ } else {
|
|
113
|
|
-+ commandLine '/usr/bin/env', "${rootProject.projectDir}/uniffi-rs/uniffi-bindgen", 'generate', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
|
|
114
|
|
-+ }
|
|
115
|
|
- outputs.dir "${buildDir}/${uniffiGeneratedPath}"
|
|
116
|
|
- // Re-generate if the interface definition changes.
|
|
117
|
|
- inputs.file "${project.projectDir}/${udlFilePath}" |
projects/application-services/bug40485-nimbus-fml-reproducibility.diff
deleted
|
1
|
|
-diff --git a/components/support/nimbus-fml/src/intermediate_representation.rs b/components/support/nimbus-fml/src/intermediate_representation.rs
|
|
2
|
|
-index 97d545672..249406a0c 100644
|
|
3
|
|
---- a/components/support/nimbus-fml/src/intermediate_representation.rs
|
|
4
|
|
-+++ b/components/support/nimbus-fml/src/intermediate_representation.rs
|
|
5
|
|
-@@ -237,10 +237,10 @@ pub struct FeatureManifest {
|
|
6
|
|
- pub(crate) about: AboutBlock,
|
|
7
|
|
-
|
|
8
|
|
- #[serde(default)]
|
|
9
|
|
-- pub(crate) imported_features: HashMap<ModuleId, BTreeSet<String>>,
|
|
10
|
|
-+ pub(crate) imported_features: BTreeMap<ModuleId, BTreeSet<String>>,
|
|
11
|
|
-
|
|
12
|
|
- #[serde(default)]
|
|
13
|
|
-- pub(crate) all_imports: HashMap<ModuleId, FeatureManifest>,
|
|
14
|
|
-+ pub(crate) all_imports: BTreeMap<ModuleId, FeatureManifest>,
|
|
15
|
|
- }
|
|
16
|
|
-
|
|
17
|
|
- impl TypeFinder for FeatureManifest {
|
|
18
|
|
-diff --git a/components/support/nimbus-fml/src/parser.rs b/components/support/nimbus-fml/src/parser.rs
|
|
19
|
|
-index 49cace525..cdf692b86 100644
|
|
20
|
|
---- a/components/support/nimbus-fml/src/parser.rs
|
|
21
|
|
-+++ b/components/support/nimbus-fml/src/parser.rs
|
|
22
|
|
-@@ -223,7 +223,7 @@ impl Parser {
|
|
23
|
|
- &self,
|
|
24
|
|
- current: &FilePath,
|
|
25
|
|
- channel: Option<&str>,
|
|
26
|
|
-- imports: &mut HashMap<ModuleId, FeatureManifest>,
|
|
27
|
|
-+ imports: &mut BTreeMap<ModuleId, FeatureManifest>,
|
|
28
|
|
- // includes: &mut HashSet<ModuleId>,
|
|
29
|
|
- ) -> Result<ModuleId> {
|
|
30
|
|
- let id = current.try_into()?;
|
|
31
|
|
-@@ -253,7 +253,7 @@ impl Parser {
|
|
32
|
|
- // This loop does the work of merging the default blocks back into the imported manifests.
|
|
33
|
|
- // We'll then attach all the manifests to the root (i.e. the one we're generating code for today), in `imports`.
|
|
34
|
|
- // We associate only the feature ids with the manifest we're loading in this method.
|
|
35
|
|
-- let mut imported_feature_id_map = HashMap::new();
|
|
36
|
|
-+ let mut imported_feature_id_map = BTreeMap::new();
|
|
37
|
|
-
|
|
38
|
|
- for block in &frontend.imports {
|
|
39
|
|
- // 1. Load the imported manifests in to the hash map.
|
|
40
|
|
-@@ -328,7 +328,7 @@ impl Parser {
|
|
41
|
|
- &self,
|
|
42
|
|
- channel: Option<&str>,
|
|
43
|
|
- ) -> Result<FeatureManifest, FMLError> {
|
|
44
|
|
-- let mut manifests = HashMap::new();
|
|
45
|
|
-+ let mut manifests = BTreeMap::new();
|
|
46
|
|
- let id = self.load_imports(&self.source, channel, &mut manifests)?;
|
|
47
|
|
- let mut fm = manifests
|
|
48
|
|
- .remove(&id) |
projects/application-services/build
| ... |
... |
@@ -6,8 +6,8 @@ |
|
6
|
6
|
gradle_tarfile => c("input_files_by_name/gradle"),
|
|
7
|
7
|
}) %]
|
|
8
|
8
|
pushd /var/tmp/dist/android-toolchain/android-sdk-linux/build-tools/
|
|
9
|
|
-unzip $rootdir/'[% c("input_files_by_name/build_tools_30") %]'
|
|
10
|
|
-mv android-11 30.0.3
|
|
|
9
|
+unzip $rootdir/'[% c("input_files_by_name/build_tools_35") %]'
|
|
|
10
|
+mv android-15 35.0
|
|
11
|
11
|
popd
|
|
12
|
12
|
|
|
13
|
13
|
distdir=/var/tmp/dist/[% project %]
|
| ... |
... |
@@ -73,6 +73,19 @@ tar -xf $rootdir/[% c('input_files_by_name/uniffi-rs') %] |
|
73
|
73
|
# latest versions of dependencies sometimes.
|
|
74
|
74
|
sed -i '$ s/$/-TORBROWSER/' version.txt
|
|
75
|
75
|
|
|
|
76
|
+pushd libs
|
|
|
77
|
+ln -s $rootdir/[% c("input_files_by_name/nss") %] ./
|
|
|
78
|
+ln -s $rootdir/bug_13028.patch
|
|
|
79
|
+patch -p2 < $rootdir/apply-bug-13028.diff
|
|
|
80
|
+patch -p2 < $rootdir/no-ndk-lookup.diff
|
|
|
81
|
+./build-all.sh desktop
|
|
|
82
|
+./build-all.sh android
|
|
|
83
|
+popd
|
|
|
84
|
+
|
|
|
85
|
+pushd megazords/full
|
|
|
86
|
+NSS_DIR=$(pwd)/../../libs/desktop/linux-x86-64/nss cargo build --target-dir=$(pwd)/target
|
|
|
87
|
+popd
|
|
|
88
|
+
|
|
76
|
89
|
cp $rootdir/cargo-no-build.sh megazords/full/android/
|
|
77
|
90
|
chmod +x megazords/full/android/cargo-no-build.sh
|
|
78
|
91
|
patch -p1 < $rootdir/a-s-noop.diff
|
| ... |
... |
@@ -83,15 +96,6 @@ cp $builddir/uniffi-rs/uniffi-bindgen glean-core/android-native/ |
|
83
|
96
|
patch -p1 < $rootdir/glean-noop.diff
|
|
84
|
97
|
popd
|
|
85
|
98
|
|
|
86
|
|
-pushd libs
|
|
87
|
|
-ln -s $rootdir/[% c("input_files_by_name/nss") %] ./
|
|
88
|
|
-ln -s $rootdir/bug_13028.patch
|
|
89
|
|
-patch -p2 < $rootdir/apply-bug-13028.diff
|
|
90
|
|
-patch -p2 < $rootdir/no-ndk-lookup.diff
|
|
91
|
|
-./build-all.sh desktop
|
|
92
|
|
-./build-all.sh android
|
|
93
|
|
-popd
|
|
94
|
|
-
|
|
95
|
99
|
[% IF c('var/fetch_gradle_dependencies') %]
|
|
96
|
100
|
# XXX: `assemble` is still not enough to see all fetched dependencies via
|
|
97
|
101
|
# Gradle's --debug. See: tor-browser-build#40056.
|
| ... |
... |
@@ -104,8 +108,6 @@ popd |
|
104
|
108
|
export LC_ALL=C.UTF-8
|
|
105
|
109
|
export LANG=C.UTF-8
|
|
106
|
110
|
patch -p1 < $rootdir/local-repository.diff
|
|
107
|
|
- patch -p1 < $rootdir/ohttp-no-git.diff
|
|
108
|
|
- patch -p1 < $rootdir/bug40485-nimbus-fml-reproducibility.diff
|
|
109
|
111
|
patch -p1 < $rootdir/offline-nimbus-fml.diff
|
|
110
|
112
|
patch -p1 < $rootdir/41422-disable-viaduct.diff
|
|
111
|
113
|
gradle_flags="--offline --no-daemon"
|
projects/application-services/config
|
1
|
1
|
# vim: filetype=yaml sw=2
|
|
2
|
|
-version: 128.0.1
|
|
3
|
|
-git_hash: 0e4777f4133a98f44bca164fcf0406e8f706dbe4
|
|
|
2
|
+version: 140.0
|
|
|
3
|
+git_hash: 8ee6cb6a23f96ff8e2161926441aea72d6f09249
|
|
4
|
4
|
git_url: https://github.com/mozilla/application-services
|
|
5
|
5
|
git_submodule: 1
|
|
6
|
6
|
container:
|
| ... |
... |
@@ -8,11 +8,11 @@ container: |
|
8
|
8
|
|
|
9
|
9
|
var:
|
|
10
|
10
|
# This should be updated when the list of gradle dependencies is changed.
|
|
11
|
|
- gradle_dependencies_version: 11
|
|
12
|
|
- gradle_version: 8.8
|
|
13
|
|
- glean_parser: 14.0.1
|
|
14
|
|
- nss_version: '3.101'
|
|
15
|
|
- nspr_version: '4.35'
|
|
|
11
|
+ gradle_dependencies_version: 12
|
|
|
12
|
+ gradle_version: 8.13
|
|
|
13
|
+ glean_parser: 17.1.0
|
|
|
14
|
+ nss_version: '3.110'
|
|
|
15
|
+ nspr_version: '4.36'
|
|
16
|
16
|
|
|
17
|
17
|
steps:
|
|
18
|
18
|
build:
|
| ... |
... |
@@ -21,7 +21,7 @@ steps: |
|
21
|
21
|
# Due to some issue in application-service causing non matching
|
|
22
|
22
|
# builds when build time differ a lot, we need to do periodic rebuilds:
|
|
23
|
23
|
# https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/merge_requests/937#note_3009480
|
|
24
|
|
- rebuild_date: '2024-09-12'
|
|
|
24
|
+ rebuild_date: '2025-06-12'
|
|
25
|
25
|
arch_deps:
|
|
26
|
26
|
# Needed to build NSS
|
|
27
|
27
|
- gyp
|
| ... |
... |
@@ -43,16 +43,16 @@ steps: |
|
43
|
43
|
- project: uniffi-rs
|
|
44
|
44
|
name: uniffi-rs
|
|
45
|
45
|
pkg_type: build
|
|
46
|
|
- # Only Application Services currently requires build tools 30.0.3.
|
|
|
46
|
+ # Only Application Services currently requires build tools 35.
|
|
47
|
47
|
# So, download them only here, rather than adding them to the shared
|
|
48
|
48
|
# toolchain.
|
|
49
|
|
- - URL: 'https://dl.google.com/android/repository/build-tools_r30.0.3-linux.zip'
|
|
50
|
|
- name: build_tools_30
|
|
51
|
|
- sha256sum: 24593500aa95d2f99fb4f10658aae7e65cb519be6cd33fa164f15f27f3c4a2d6
|
|
|
49
|
+ - URL: 'https://dl.google.com/android/repository/build-tools_r35_linux.zip'
|
|
|
50
|
+ name: build_tools_35
|
|
|
51
|
+ sha256sum: bd3a4966912eb8b30ed0d00b0cda6b6543b949d5ffe00bea54c04c81e1561d88
|
|
52
|
52
|
# NSS version ans sha256 are in libs/build-all.sh.
|
|
53
|
53
|
- 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'
|
|
54
|
54
|
name: nss
|
|
55
|
|
- sha256sum: 566faa9283ff3d9a7d6c44272df6e4330e3e06ca4e841a68840d31b27c9161c4
|
|
|
55
|
+ sha256sum: 96114bef9e9692dda6e7793da26fedef0dc0449c3644ebe1122464e599a39dc0
|
|
56
|
56
|
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
|
|
57
|
57
|
name: gradle-dependencies
|
|
58
|
58
|
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
|
| ... |
... |
@@ -65,19 +65,14 @@ steps: |
|
65
|
65
|
project: application-services
|
|
66
|
66
|
pkg_type: cargo_vendor
|
|
67
|
67
|
norec:
|
|
68
|
|
- sha256sum: 92ce1131b35bf78d86362670ba7e4930ecdd1117694996d7cce850e4860f90b6
|
|
|
68
|
+ sha256sum: 4cf0235b525b5ce1d8bcc40e9763a13fd0e79c773749b900b4d7420551cf5114
|
|
69
|
69
|
- filename: local-repository.diff
|
|
70
|
70
|
enable: '[% !c("var/fetch_gradle_dependencies") %]'
|
|
71
|
71
|
- filename: gen_gradle_deps_file.sh
|
|
72
|
72
|
enable: '[% c("var/fetch_gradle_dependencies") %]'
|
|
73
|
73
|
- filename: bug_13028.patch
|
|
74
|
74
|
- filename: apply-bug-13028.diff
|
|
75
|
|
- # Delete when this patch is included upstream
|
|
76
|
|
- - filename: bug40485-nimbus-fml-reproducibility.diff
|
|
77
|
75
|
- filename: no-ndk-lookup.diff
|
|
78
|
|
- # as-ohttp-client lists both the version for ohttp and a git repo + rev,
|
|
79
|
|
- # but this breaks the vendoring for offline builds.
|
|
80
|
|
- - filename: ohttp-no-git.diff
|
|
81
|
76
|
- filename: offline-nimbus-fml.diff
|
|
82
|
77
|
- filename: glean-noop.diff
|
|
83
|
78
|
- filename: a-s-noop.diff
|
projects/application-services/glean-noop.diff
|
1
|
1
|
diff --git a/glean-core/android-native/build.gradle b/glean-core/android-native/build.gradle
|
|
2
|
|
-index 48769651..ade00ec3 100644
|
|
|
2
|
+index 53716d523..d38af8320 100644
|
|
3
|
3
|
--- a/glean-core/android-native/build.gradle
|
|
4
|
4
|
+++ b/glean-core/android-native/build.gradle
|
|
5
|
|
-@@ -57,6 +57,8 @@ android {
|
|
|
5
|
+@@ -48,6 +48,8 @@ android {
|
|
6
|
6
|
}
|
|
7
|
7
|
|
|
8
|
8
|
cargo {
|
| ... |
... |
@@ -12,15 +12,15 @@ index 48769651..ade00ec3 100644 |
|
12
|
12
|
module = '../bundle-android'
|
|
13
|
13
|
|
|
14
|
14
|
diff --git a/glean-core/android/build.gradle b/glean-core/android/build.gradle
|
|
15
|
|
-index 3568e40b..05f28296 100644
|
|
|
15
|
+index 7748378b4..5af06b1c3 100644
|
|
16
|
16
|
--- a/glean-core/android/build.gradle
|
|
17
|
17
|
+++ b/glean-core/android/build.gradle
|
|
18
|
|
-@@ -221,7 +221,7 @@ android.libraryVariants.all { variant ->
|
|
19
|
|
- def udlFilePath = "../src/glean.udl"
|
|
20
|
|
- def t = tasks.register("generate${variant.name.capitalize()}UniFFIBindings", Exec) {
|
|
21
|
|
- workingDir project.rootDir
|
|
22
|
|
-- commandLine 'cargo', 'uniffi-bindgen', 'generate', '--no-format', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
|
|
23
|
|
-+ commandLine '${rootDir}/glean-core/android-native/uniffi-bindgen', 'generate', '--no-format', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
|
|
24
|
|
- outputs.dir "${buildDir}/${uniffiGeneratedPath}"
|
|
25
|
|
- // Re-generate if the interface definition changes.
|
|
26
|
|
- inputs.file "${project.projectDir}/../src/glean.udl" |
|
|
18
|
+@@ -197,7 +197,7 @@ def generateUniffiBindings = tasks.register("generateUniffiBindings") {
|
|
|
19
|
+ doFirst {
|
|
|
20
|
+ exec {
|
|
|
21
|
+ workingDir project.rootDir
|
|
|
22
|
+- commandLine 'cargo', 'uniffi-bindgen', 'generate', '--no-format', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', UNIFFI_OUT_DIR.get()
|
|
|
23
|
++ commandLine '${rootDir}/glean-core/android-native/uniffi-bindgen', 'generate', '--no-format', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', UNIFFI_OUT_DIR.get()
|
|
|
24
|
+ }
|
|
|
25
|
+ }
|
|
|
26
|
+ outputs.dir UNIFFI_OUT_DIR |
projects/application-services/gradle-dependencies-list.txt
The diff for this file was not included because it is too large.
projects/application-services/list_toolchain_updates_checks
| ... |
... |
@@ -8,7 +8,7 @@ if (m/^\\s*compileSdkVersion:\\s([^"]*),/) { |
|
8
|
8
|
}
|
|
9
|
9
|
EOF
|
|
10
|
10
|
needed=$(cat build.gradle | perl -ne "$p")
|
|
11
|
|
-current=34
|
|
|
11
|
+current='[% pc("android-toolchain", "version") %]'
|
|
12
|
12
|
check_update_needed compileSdkVersion "$needed" "$current"
|
|
13
|
13
|
|
|
14
|
14
|
|
| ... |
... |
@@ -48,12 +48,12 @@ current='[% c("var/nss_version") %]-with-nspr-[% c("var/nspr_version") %]' |
|
48
|
48
|
check_update_needed nss-nspr "$needed" "$current"
|
|
49
|
49
|
|
|
50
|
50
|
# uniffi
|
|
51
|
|
-read -d '' p << 'EOF' || true
|
|
52
|
|
-if (m/^\\s*uniffi\\s*=\\s*"([^"]*)"/) {
|
|
53
|
|
- print $1;
|
|
54
|
|
- exit;
|
|
55
|
|
-}
|
|
56
|
|
-EOF
|
|
57
|
|
-needed=$(cat Cargo.toml | perl -ne "$p")
|
|
|
51
|
+p='while (<>) {
|
|
|
52
|
+ if (m/^\s*uniffi\s*=\s*\{[^}]*version\s*=\s*"([^"]*)"/) {
|
|
|
53
|
+ print $1;
|
|
|
54
|
+ exit;
|
|
|
55
|
+ }
|
|
|
56
|
+}'
|
|
|
57
|
+needed=$(cat components/autofill/Cargo.toml | perl -ne "$p")
|
|
58
|
58
|
current='[% pc("uniffi-rs", "version") %]'
|
|
59
|
59
|
check_update_needed uniffi "$needed" "$current" |
projects/application-services/local-repository.diff
|
1
|
1
|
diff --git a/build.gradle b/build.gradle
|
|
2
|
|
-index b22a0737..d335aa5b 100644
|
|
|
2
|
+index bd516e58c..b30d552c9 100644
|
|
3
|
3
|
--- a/build.gradle
|
|
4
|
4
|
+++ b/build.gradle
|
|
5
|
|
-@@ -39,6 +39,13 @@ buildscript {
|
|
6
|
|
- ]
|
|
7
|
|
-
|
|
|
5
|
+@@ -14,6 +14,14 @@ buildscript {
|
|
|
6
|
+ }
|
|
|
7
|
+
|
|
8
|
8
|
repositories {
|
|
9
|
9
|
+ maven {
|
|
10
|
10
|
+ url "file:///var/tmp/dist/gradle-dependencies"
|
| ... |
... |
@@ -13,11 +13,12 @@ index b22a0737..d335aa5b 100644 |
|
13
|
13
|
+ mavenPom()
|
|
14
|
14
|
+ }
|
|
15
|
15
|
+ }
|
|
|
16
|
++
|
|
16
|
17
|
mavenCentral()
|
|
17
|
18
|
google()
|
|
18
|
|
- jcenter()
|
|
19
|
|
-@@ -88,6 +95,13 @@ apply plugin: 'de.undercouch.download'
|
|
20
|
|
-
|
|
|
19
|
+ maven {
|
|
|
20
|
+@@ -59,6 +67,14 @@ plugins {
|
|
|
21
|
+
|
|
21
|
22
|
allprojects {
|
|
22
|
23
|
repositories {
|
|
23
|
24
|
+ maven {
|
| ... |
... |
@@ -27,11 +28,12 @@ index b22a0737..d335aa5b 100644 |
|
27
|
28
|
+ mavenPom()
|
|
28
|
29
|
+ }
|
|
29
|
30
|
+ }
|
|
|
31
|
++
|
|
30
|
32
|
google()
|
|
31
|
|
- jcenter()
|
|
|
33
|
+ mavenCentral()
|
|
32
|
34
|
maven {
|
|
33
|
35
|
diff --git a/settings.gradle b/settings.gradle
|
|
34
|
|
-index f652bd02..8c30a368 100644
|
|
|
36
|
+index 4117bc0d3..f1b028dad 100644
|
|
35
|
37
|
--- a/settings.gradle
|
|
36
|
38
|
+++ b/settings.gradle
|
|
37
|
39
|
@@ -1,6 +1,19 @@
|
| ... |
... |
@@ -52,37 +54,39 @@ index f652bd02..8c30a368 100644 |
|
52
|
54
|
+}
|
|
53
|
55
|
+
|
|
54
|
56
|
import org.yaml.snakeyaml.Yaml
|
|
55
|
|
-
|
|
56
|
|
- includeBuild('tools/nimbus-gradle-plugin') {
|
|
57
|
|
-@@ -14,6 +27,13 @@ buildscript {
|
|
58
|
|
- classpath 'org.yaml:snakeyaml:2.0'
|
|
59
|
|
- }
|
|
60
|
|
- repositories {
|
|
61
|
|
-+ maven {
|
|
62
|
|
-+ url "file:///var/tmp/dist/gradle-dependencies"
|
|
63
|
|
-+ metadataSources {
|
|
64
|
|
-+ gradleMetadata()
|
|
65
|
|
-+ mavenPom()
|
|
|
57
|
+
|
|
|
58
|
+ // We prefer `appServicesRootDir` over `rootDir` to help us on the path to the monorepo.
|
|
|
59
|
+@@ -23,6 +36,14 @@ buildscript {
|
|
|
60
|
+ if (!gradle.root.hasProperty("mozconfig")) {
|
|
|
61
|
+ // in app-services
|
|
|
62
|
+ repositories {
|
|
|
63
|
++ maven {
|
|
|
64
|
++ url "file:///var/tmp/dist/gradle-dependencies"
|
|
|
65
|
++ metadataSources {
|
|
|
66
|
++ gradleMetadata()
|
|
|
67
|
++ mavenPom()
|
|
|
68
|
++ }
|
|
66
|
69
|
+ }
|
|
67
|
|
-+ }
|
|
68
|
|
- jcenter()
|
|
69
|
|
- }
|
|
70
|
|
- }
|
|
|
70
|
++
|
|
|
71
|
+ mavenCentral()
|
|
|
72
|
+ }
|
|
|
73
|
+ } else {
|
|
71
|
74
|
diff --git a/tools/nimbus-gradle-plugin/settings.gradle b/tools/nimbus-gradle-plugin/settings.gradle
|
|
72
|
|
-index 7db19be0..1f36b991 100644
|
|
|
75
|
+index 7d907f057..c0d213503 100644
|
|
73
|
76
|
--- a/tools/nimbus-gradle-plugin/settings.gradle
|
|
74
|
77
|
+++ b/tools/nimbus-gradle-plugin/settings.gradle
|
|
75
|
|
-@@ -8,6 +8,13 @@ buildscript {
|
|
76
|
|
- classpath 'org.yaml:snakeyaml:2.0'
|
|
77
|
|
- }
|
|
78
|
|
- repositories {
|
|
79
|
|
-+ maven {
|
|
80
|
|
-+ url "file:///var/tmp/dist/gradle-dependencies"
|
|
81
|
|
-+ metadataSources {
|
|
82
|
|
-+ gradleMetadata()
|
|
83
|
|
-+ mavenPom()
|
|
|
78
|
+@@ -14,6 +14,14 @@ buildscript {
|
|
|
79
|
+ if (!gradle.root.hasProperty("mozconfig")) {
|
|
|
80
|
+ // in app-services
|
|
|
81
|
+ repositories {
|
|
|
82
|
++ maven {
|
|
|
83
|
++ url "file:///var/tmp/dist/gradle-dependencies"
|
|
|
84
|
++ metadataSources {
|
|
|
85
|
++ gradleMetadata()
|
|
|
86
|
++ mavenPom()
|
|
|
87
|
++ }
|
|
84
|
88
|
+ }
|
|
85
|
|
-+ }
|
|
86
|
|
- jcenter()
|
|
87
|
|
- }
|
|
88
|
|
- } |
|
|
89
|
++
|
|
|
90
|
+ mavenCentral()
|
|
|
91
|
+ }
|
|
|
92
|
+ } else { |
projects/application-services/ohttp-no-git.diff
deleted
|
1
|
|
-diff --git a/components/as-ohttp-client/Cargo.toml b/components/as-ohttp-client/Cargo.toml
|
|
2
|
|
-index fd45a058b..b7070fc15 100644
|
|
3
|
|
---- a/components/as-ohttp-client/Cargo.toml
|
|
4
|
|
-+++ b/components/as-ohttp-client/Cargo.toml
|
|
5
|
|
-@@ -19,8 +19,8 @@ rusqlite = { workspace = true, features = ["bundled"] }
|
|
6
|
|
- [dependencies.ohttp]
|
|
7
|
|
- version = "0.4"
|
|
8
|
|
- default-features = false
|
|
9
|
|
--git = "https://github.com/martinthomson/ohttp.git"
|
|
10
|
|
--rev = "fc3f4c787d1f6a6a87bf5194f7152cc906b02973"
|
|
11
|
|
-+# git = "https://github.com/martinthomson/ohttp.git"
|
|
12
|
|
-+# rev = "fc3f4c787d1f6a6a87bf5194f7152cc906b02973"
|
|
13
|
|
- features = ["client", "server", "app-svc", "external-sqlite"]
|
|
14
|
|
-
|
|
15
|
|
- [build-dependencies] |
projects/glean/config
| ... |
... |
@@ -19,13 +19,15 @@ var: |
|
19
|
19
|
- torsocks
|
|
20
|
20
|
glean_wheels_sha256sum:
|
|
21
|
21
|
14.0.1: 95f01d0e158ae7968680029b7d9c2908895e1d1ec1ba4e6a044648a05af4ee0c
|
|
|
22
|
+ 17.1.0: d96ef1995676fc3b838efb84283294befd5060ca64eea94fb67ae1f41d422664
|
|
22
|
23
|
glean_wheels_url:
|
|
23
|
24
|
14.0.1: https://build-sources.tbb.torproject.org/glean-wheels-14.0.1.tar.xz
|
|
|
25
|
+ 17.1.0: https://build-sources.tbb.torproject.org/glean-wheels-17.1.0.tar.xz
|
|
24
|
26
|
|
|
25
|
27
|
steps:
|
|
26
|
28
|
create_glean_deps_tarball:
|
|
27
|
29
|
git_url: ''
|
|
28
|
|
- version: 14.0.1
|
|
|
30
|
+ version: 17.1.0
|
|
29
|
31
|
filename: 'glean-wheels-[% c("version") %].tar.xz'
|
|
30
|
32
|
build_log: '-'
|
|
31
|
33
|
container:
|
projects/gradle/config
| ... |
... |
@@ -7,6 +7,7 @@ container: |
|
7
|
7
|
var:
|
|
8
|
8
|
gradle_sha256sum:
|
|
9
|
9
|
8.8: a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612
|
|
|
10
|
+ 8.13: 20f1b1176237254a6fc204d8434196fa11a4cfb387567519c61556e8710aed78
|
|
10
|
11
|
|
|
11
|
12
|
input_files:
|
|
12
|
13
|
- project: container-image
|
projects/uniffi-rs/config
|
1
|
1
|
# vim: filetype=yaml sw=2
|
|
2
|
|
-version: 0.27.1
|
|
3
|
|
-git_hash: bfb52effb0292f16d4c030d622887781639cbd1f
|
|
4
|
|
-git_url: https://gitlab.torproject.org/tpo/applications/uniffi-rs.git
|
|
|
2
|
+version: 0.29.0
|
|
|
3
|
+git_hash: c69eba9eb08b16a66aab7b25df6c55d0b60541db
|
|
|
4
|
+git_url: https://gitlab.torproject.org/tpo/applications/uniffi-rs
|
|
5
|
5
|
container:
|
|
6
|
6
|
use_container: 1
|
|
7
|
7
|
|
| ... |
... |
@@ -17,4 +17,4 @@ steps: |
|
17
|
17
|
project: uniffi-rs
|
|
18
|
18
|
pkg_type: cargo_vendor
|
|
19
|
19
|
norec:
|
|
20
|
|
- sha256sum: 12a61a3dbe65a3946ed58fff3d849d11c9ade5818e2ef5771d2a2a531e25f553 |
|
|
20
|
+ sha256sum: 23c79da9169064f42c34b9dadfee9dcf5ed251f9843615ca3e9a0e59a49f581d |
|