summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2025-10-20 11:45:24 +0200
committerDavid Göransson <david.goransson@mullvad.net>2025-10-20 11:45:24 +0200
commit4bbfffafda2ce5fccdfd4bc393f32f7fc15304dc (patch)
tree6375f99c1f20193ec4cdad85bf468b6fd46b3760
parentfc3bd8c3e2b2ac25315b4956e3885347b6408b40 (diff)
parent1cdda382845095ddeddde20a7dd129ae7c8613e4 (diff)
downloadmullvadvpn-4bbfffafda2ce5fccdfd4bc393f32f7fc15304dc.tar.xz
mullvadvpn-4bbfffafda2ce5fccdfd4bc393f32f7fc15304dc.zip
Merge branch 'limit-classpath-dependencies-to-when-generating-lockfile-droid-2251'
-rw-r--r--android/build.gradle.kts71
-rw-r--r--android/gradle/verification-metadata.keys.xml2
-rw-r--r--android/gradle/verification-metadata.xml5
3 files changed, 42 insertions, 36 deletions
diff --git a/android/build.gradle.kts b/android/build.gradle.kts
index 249a2a5f15..d34bb5fb8a 100644
--- a/android/build.gradle.kts
+++ b/android/build.gradle.kts
@@ -31,42 +31,47 @@ buildscript {
// Dependency class paths are required for Gradle metadata verification to work properly,
// see:
// https://github.com/gradle/gradle/issues/19228
- val aapt = libs.android.gradle.aapt.get()
- val aaptVersion = "${libs.versions.android.gradle.plugin.get()}-${libs.versions.android.gradle.aapt.get()}"
- classpath("$aapt:$aaptVersion:linux")
- classpath("$aapt:$aaptVersion:osx")
- classpath("$aapt:$aaptVersion:windows")
- // Protoc plugin
- val protoc = libs.plugins.protobuf.protoc.get().toString()
- classpath("$protoc:linux-aarch_64@exe")
- classpath("$protoc:linux-ppcle_64@exe")
- classpath("$protoc:linux-s390_64@exe")
- classpath("$protoc:linux-x86_32@exe")
- classpath("$protoc:linux-x86_64@exe")
- classpath("$protoc:osx-aarch_64@exe")
- classpath("$protoc:osx-x86_64@exe")
- classpath("$protoc:windows-x86_32@exe")
- classpath("$protoc:windows-x86_64@exe")
+ if (gradle.startParameter.writeDependencyVerifications.isNotEmpty()) {
+ println("Writing dependency verification file, adding platform specific classpaths")
+ val aapt = libs.android.gradle.aapt.get()
+ val aaptVersion =
+ "${libs.versions.android.gradle.plugin.get()}-${libs.versions.android.gradle.aapt.get()}"
+ classpath("$aapt:$aaptVersion:linux")
+ classpath("$aapt:$aaptVersion:osx")
+ classpath("$aapt:$aaptVersion:windows")
- // ProtoC gen grpc java plugin
- val protocJava = libs.plugins.grpc.protoc.gen.grpc.java.get().toString()
- classpath("$protocJava:linux-aarch_64@exe")
- classpath("$protocJava:linux-ppcle_64@exe")
- classpath("$protocJava:linux-s390_64@exe")
- classpath("$protocJava:linux-x86_32@exe")
- classpath("$protocJava:linux-x86_64@exe")
- classpath("$protocJava:osx-aarch_64@exe")
- classpath("$protocJava:osx-x86_64@exe")
- classpath("$protocJava:windows-x86_32@exe")
- classpath("$protocJava:windows-x86_64@exe")
+ // Protoc plugin
+ val protoc = libs.plugins.protobuf.protoc.get().toString()
+ classpath("$protoc:linux-aarch_64@exe")
+ classpath("$protoc:linux-ppcle_64@exe")
+ classpath("$protoc:linux-s390_64@exe")
+ classpath("$protoc:linux-x86_32@exe")
+ classpath("$protoc:linux-x86_64@exe")
+ classpath("$protoc:osx-aarch_64@exe")
+ classpath("$protoc:osx-x86_64@exe")
+ classpath("$protoc:windows-x86_32@exe")
+ classpath("$protoc:windows-x86_64@exe")
- // Kotlin Native Prebuilt
- val prebuilt = libs.kotlin.native.prebuilt.get().toString()
- classpath("$prebuilt:windows-x86_64@zip")
- classpath("$prebuilt:linux-x86_64@tar.gz")
- classpath("$prebuilt:macos-aarch64@tar.gz")
- classpath("$prebuilt:macos-x86_64@tar.gz")
+ // ProtoC gen grpc java plugin
+ val protocJava = libs.plugins.grpc.protoc.gen.grpc.java.get().toString()
+ classpath("$protocJava:linux-aarch_64@exe")
+ classpath("$protocJava:linux-ppcle_64@exe")
+ classpath("$protocJava:linux-s390_64@exe")
+ classpath("$protocJava:linux-x86_32@exe")
+ classpath("$protocJava:linux-x86_64@exe")
+ classpath("$protocJava:osx-aarch_64@exe")
+ classpath("$protocJava:osx-x86_64@exe")
+ classpath("$protocJava:windows-x86_32@exe")
+ classpath("$protocJava:windows-x86_64@exe")
+
+ // Kotlin Native Prebuilt
+ val prebuilt = libs.kotlin.native.prebuilt.get().toString()
+ classpath("$prebuilt:windows-x86_64@zip")
+ classpath("$prebuilt:linux-x86_64@tar.gz")
+ classpath("$prebuilt:macos-aarch64@tar.gz")
+ classpath("$prebuilt:macos-x86_64@tar.gz")
+ }
}
}
diff --git a/android/gradle/verification-metadata.keys.xml b/android/gradle/verification-metadata.keys.xml
index 467df6c724..0ee60c4a0b 100644
--- a/android/gradle/verification-metadata.keys.xml
+++ b/android/gradle/verification-metadata.keys.xml
@@ -16,10 +16,10 @@
</key-servers>
<trusted-artifacts>
<trust group="com.github.burrunan.multicache"/>
+ <trust group="gradle" name="gradle"/>
<trust file=".*-javadoc[.]jar" regex="true"/>
<trust file=".*-sources[.]jar" regex="true"/>
<trust file=".*[.]pom" regex="true"/>
- <trust file="gradle-[0-9.]+-src.zip" regex="true"/>
</trusted-artifacts>
<ignored-keys>
<ignored-key id="586654072EAD6677" reason="Key couldn't be downloaded from any key server"/>
diff --git a/android/gradle/verification-metadata.xml b/android/gradle/verification-metadata.xml
index dce4c59c7d..38522ec992 100644
--- a/android/gradle/verification-metadata.xml
+++ b/android/gradle/verification-metadata.xml
@@ -19,8 +19,9 @@
WORKAROUNDS:
- Ignore gradle wrapper source being downloaded when running "Sync Project with Gradle Files"
https://youtrack.jetbrains.com/issue/IDEA-258328
+ https://developer.android.com/build/dependency-verification#android_studio_synchronization
Line added:
- <trust file="gradle-[0-9.]+-src.zip" regex="true"/>
+ <trust group="gradle" name="gradle"/>
-->
<verification-metadata xmlns="https://schema.gradle.org/dependency-verification" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schema.gradle.org/dependency-verification https://schema.gradle.org/dependency-verification/dependency-verification-1.3.xsd">
<configuration>
@@ -28,11 +29,11 @@
<verify-signatures>false</verify-signatures>
<trusted-artifacts>
<trust group="com.github.burrunan.multicache"/>
+ <trust group="gradle" name="gradle"/>
<trust group="org.apache.groovy"/>
<trust file=".*-javadoc[.]jar" regex="true"/>
<trust file=".*-sources[.]jar" regex="true"/>
<trust file=".*[.]pom" regex="true"/>
- <trust file="gradle-[0-9.]+-src.zip" regex="true"/>
</trusted-artifacts>
</configuration>
<components>