diff --git a/agp-patch/src/main/kotlin/com/android/build/gradle/internal/DependencyConfigurator.kt b/agp-patch/src/main/kotlin/com/android/build/gradle/internal/DependencyConfigurator.kt index a4c66d4..233b713 100644 --- a/agp-patch/src/main/kotlin/com/android/build/gradle/internal/DependencyConfigurator.kt +++ b/agp-patch/src/main/kotlin/com/android/build/gradle/internal/DependencyConfigurator.kt @@ -465,7 +465,13 @@ class DependencyConfigurator( ) } - fun configurePrivacySandboxSdkConsumerTransforms(): DependencyConfigurator { + fun configurePrivacySandboxSdkConsumerTransforms( + compileSdkHashString: String, + buildToolsRevision: Revision, + bootstrapCreationConfig: BootClasspathConfig, + variants: List = emptyList() + ) + : DependencyConfigurator { for (from in AsarTransform.supportedAsarTransformTypes) { registerTransform( AsarTransform::class.java, @@ -476,21 +482,14 @@ class DependencyConfigurator( } } - return this - } - - fun configurePrivacySandboxSdkVariantTransforms( - variants: List, - compileSdkHashString: String, - buildToolsRevision: Revision, - bootstrapCreationConfig: BootClasspathConfig - ): DependencyConfigurator { - fun configureExtractSdkShimTransforms(experimentalProperties: Map) { + fun configureExtractSdkShimTransforms(experimentalProperties: Map?) { val extractSdkShimTransformParamConfig = { reg: TransformSpec -> val experimentalPropertiesApiGenerator: Dependency? = + experimentalProperties?.let { ModulePropertyKey.Dependencies.ANDROID_PRIVACY_SANDBOX_SDK_API_GENERATOR - .getValue(experimentalProperties)?.single() + .getValue(it)?.single() + } val apigeneratorArtifact: Dependency = experimentalPropertiesApiGenerator ?: project.dependencies.create( @@ -499,7 +498,11 @@ class DependencyConfigurator( ) as Dependency val experimentalPropertiesRuntimeApigeneratorDependencies = - ModulePropertyKey.Dependencies.ANDROID_PRIVACY_SANDBOX_SDK_API_GENERATOR_GENERATED_RUNTIME_DEPENDENCIES.getValue(experimentalProperties) + experimentalProperties?.let { + ModulePropertyKey.Dependencies.ANDROID_PRIVACY_SANDBOX_SDK_API_GENERATOR_GENERATED_RUNTIME_DEPENDENCIES.getValue( + it + ) + } val runtimeDependenciesForShimSdk: List = experimentalPropertiesRuntimeApigeneratorDependencies ?: (projectServices.projectOptions @@ -593,13 +596,20 @@ class DependencyConfigurator( } }.distinct() - when(properties.size) { - 0 -> {} // No variants, problem will be reported elsewhere. - 1 -> configureExtractSdkShimTransforms(properties.single()) - else -> error("It is not possible to override Privacy Sandbox experimental properties per variant.\n" + - "Properties with different values defined across multiple variants: ${properties.joinToString()} ") + if (properties.count() > 1) { + error( + "It is not possible to override Privacy Sandbox experimental properties per variant.\n" + + "Properties with different values defined across multiple variants: ${properties.joinToString()} " + ) } + configureExtractSdkShimTransforms(properties.singleOrNull()) + + return this + } + fun configurePrivacySandboxSdkVariantTransforms( + variants: List, + ): DependencyConfigurator { fun registerAsarToApksTransform(variants: List) { // For signing privacy sandbox artifacts we allow per project signing configuration // by the use of experimental properties. To reduce the expense of registering per @@ -631,7 +641,7 @@ class DependencyConfigurator( else -> throw UnsupportedOperationException( "It is not possible to override Privacy Sandbox experimental properties per variant.\n" + "Set the same signing config using experimental properties in each variant explicitly.") - } + } registerTransform( AsarToApksTransform::class.java, AndroidArtifacts.ArtifactType.ANDROID_PRIVACY_SANDBOX_SDK_ARCHIVE, diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 73a6eab..a826ab1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] -agp = "8.5.0" # keep in sync with android-tools -android-tools = "31.5.0" # = 23.0.0 + agp +agp = "8.5.1" # keep in sync with android-tools +android-tools = "31.5.1" # = 23.0.0 + agp compilerTesting = "0.2.1" compose = "1.5.14" kotlin = "1.9.24"