Decorate PackagingOptions
Bug: 140406102
Test: existing
Change-Id: I07a3de4cea7347143cd314aaee44b4892fa8b6b3
diff --git a/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/JniLibsApkPackagingImpl.kt b/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/JniLibsApkPackagingImpl.kt
index 093f231..fe07342 100644
--- a/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/JniLibsApkPackagingImpl.kt
+++ b/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/JniLibsApkPackagingImpl.kt
@@ -16,13 +16,13 @@
package com.android.build.api.variant.impl
+import com.android.build.api.dsl.PackagingOptions
import com.android.build.api.variant.JniLibsApkPackaging
import com.android.build.gradle.internal.services.VariantPropertiesApiServices
import com.android.sdklib.AndroidVersion.VersionCodes.M
-import org.gradle.api.provider.Provider
class JniLibsApkPackagingImpl(
- dslPackagingOptions: com.android.build.gradle.internal.dsl.PackagingOptions,
+ dslPackagingOptions: PackagingOptions,
variantPropertiesApiServices: VariantPropertiesApiServices,
minSdk: Int
) : JniLibsPackagingImpl(dslPackagingOptions, variantPropertiesApiServices),
diff --git a/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/JniLibsPackagingImpl.kt b/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/JniLibsPackagingImpl.kt
index aea9441..34f03f3 100644
--- a/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/JniLibsPackagingImpl.kt
+++ b/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/JniLibsPackagingImpl.kt
@@ -16,40 +16,31 @@
package com.android.build.api.variant.impl
+import com.android.build.api.dsl.PackagingOptions
import com.android.build.api.variant.JniLibsPackaging
import com.android.build.gradle.internal.packaging.defaultExcludes
import com.android.build.gradle.internal.services.VariantPropertiesApiServices
-import java.util.concurrent.Callable
open class JniLibsPackagingImpl(
- dslPackagingOptions: com.android.build.gradle.internal.dsl.PackagingOptions,
+ dslPackagingOptions: PackagingOptions,
variantPropertiesApiServices: VariantPropertiesApiServices
) : JniLibsPackaging {
override val excludes =
- variantPropertiesApiServices.setPropertyOf(
- String::class.java,
- Callable<Collection<String>> {
- // subtract defaultExcludes because its patterns are specific to java resources.
- dslPackagingOptions.excludes
- .minus(defaultExcludes)
- .union(dslPackagingOptions.jniLibs.excludes)
- }
- )
+ variantPropertiesApiServices.setPropertyOf(String::class.java) {
+ // subtract defaultExcludes because its patterns are specific to java resources.
+ dslPackagingOptions.excludes
+ .minus(defaultExcludes)
+ .union(dslPackagingOptions.jniLibs.excludes)
+ }
override val pickFirsts =
- variantPropertiesApiServices.setPropertyOf(
- String::class.java,
- Callable<Collection<String>> {
- dslPackagingOptions.pickFirsts.union(dslPackagingOptions.jniLibs.pickFirsts)
- }
- )
+ variantPropertiesApiServices.setPropertyOf(String::class.java) {
+ dslPackagingOptions.pickFirsts.union(dslPackagingOptions.jniLibs.pickFirsts)
+ }
override val keepDebugSymbols =
- variantPropertiesApiServices.setPropertyOf(
- String::class.java,
- Callable<Collection<String>> {
- dslPackagingOptions.doNotStrip.union(dslPackagingOptions.jniLibs.keepDebugSymbols)
- }
- )
+ variantPropertiesApiServices.setPropertyOf(String::class.java) {
+ dslPackagingOptions.doNotStrip.union(dslPackagingOptions.jniLibs.keepDebugSymbols)
+ }
}
diff --git a/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/ResourcesApkPackagingImpl.kt b/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/ResourcesApkPackagingImpl.kt
index dba333c..10fb84f 100644
--- a/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/ResourcesApkPackagingImpl.kt
+++ b/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/ResourcesApkPackagingImpl.kt
@@ -16,22 +16,19 @@
package com.android.build.api.variant.impl
+import com.android.build.api.dsl.PackagingOptions
import com.android.build.gradle.internal.services.VariantPropertiesApiServices
-import java.util.concurrent.Callable
class ResourcesApkPackagingImpl(
- dslPackagingOptions: com.android.build.gradle.internal.dsl.PackagingOptions,
+ dslPackagingOptions: PackagingOptions,
variantPropertiesApiServices: VariantPropertiesApiServices
) : ResourcesPackagingImpl(dslPackagingOptions, variantPropertiesApiServices) {
override val excludes =
- variantPropertiesApiServices.setPropertyOf(
- String::class.java,
- Callable<Collection<String>> {
- // exclude .kotlin_module files from APKs (b/152898926)
- getBaseExcludes().plus("/META-INF/*.kotlin_module")
- }
- )
+ variantPropertiesApiServices.setPropertyOf(String::class.java) {
+ // exclude .kotlin_module files from APKs (b/152898926)
+ getBaseExcludes().plus("/META-INF/*.kotlin_module")
+ }
}
diff --git a/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/ResourcesPackagingImpl.kt b/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/ResourcesPackagingImpl.kt
index d9048ea..a08898f 100644
--- a/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/ResourcesPackagingImpl.kt
+++ b/build-system/gradle-core/src/main/java/com/android/build/api/variant/impl/ResourcesPackagingImpl.kt
@@ -16,45 +16,36 @@
package com.android.build.api.variant.impl
+import com.android.build.api.dsl.PackagingOptions
import com.android.build.api.variant.ResourcesPackaging
import com.android.build.gradle.internal.packaging.defaultExcludes
import com.android.build.gradle.internal.packaging.defaultMerges
import com.android.build.gradle.internal.services.VariantPropertiesApiServices
-import java.util.concurrent.Callable
open class ResourcesPackagingImpl(
- private val dslPackagingOptions: com.android.build.gradle.internal.dsl.PackagingOptions,
+ private val dslPackagingOptions: PackagingOptions,
variantPropertiesApiServices: VariantPropertiesApiServices
) : ResourcesPackaging {
override val excludes =
- variantPropertiesApiServices.setPropertyOf(
- String::class.java,
- Callable<Collection<String>> { getBaseExcludes() }
- )
+ variantPropertiesApiServices.setPropertyOf(String::class.java) { getBaseExcludes() }
override val pickFirsts =
- variantPropertiesApiServices.setPropertyOf(
- String::class.java,
- Callable<Collection<String>> {
- dslPackagingOptions.pickFirsts.union(dslPackagingOptions.resources.pickFirsts)
- }
- )
+ variantPropertiesApiServices.setPropertyOf(String::class.java) {
+ dslPackagingOptions.pickFirsts.union(dslPackagingOptions.resources.pickFirsts)
+ }
override val merges =
- variantPropertiesApiServices.setPropertyOf(
- String::class.java,
+ variantPropertiesApiServices.setPropertyOf(String::class.java) {
// the union of dslPackagingOptions.merges and dslPackagingOptions.resources.merges,
// minus the default patterns removed from either of them.
- Callable<Collection<String>> {
- dslPackagingOptions.merges
- .union(dslPackagingOptions.resources.merges)
- .minus(
- defaultMerges.subtract(dslPackagingOptions.merges)
- .union(defaultMerges.subtract(dslPackagingOptions.resources.merges))
- )
- }
- )
+ dslPackagingOptions.merges
+ .union(dslPackagingOptions.resources.merges)
+ .minus(
+ defaultMerges.subtract(dslPackagingOptions.merges)
+ .union(defaultMerges.subtract(dslPackagingOptions.resources.merges))
+ )
+ }
// the union of dslPackagingOptions.excludes and dslPackagingOptions.resources.excludes, minus
// the default patterns removed from either of them.
diff --git a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/CommonExtensionImpl.kt b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/CommonExtensionImpl.kt
index aba440a..e8493c5 100644
--- a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/CommonExtensionImpl.kt
+++ b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/CommonExtensionImpl.kt
@@ -222,13 +222,6 @@
action.invoke(lintOptions)
}
- override val packagingOptions: PackagingOptions =
- dslServices.newInstance(PackagingOptions::class.java, dslServices)
-
- override fun packagingOptions(action: com.android.build.api.dsl.PackagingOptions.() -> Unit) {
- action.invoke(packagingOptions)
- }
-
override fun productFlavors(action: Action<NamedDomainObjectContainer<ProductFlavor>>) {
action.execute(productFlavors as NamedDomainObjectContainer<ProductFlavor>)
}
diff --git a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/DexPackagingOptionsImpl.kt b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/DexPackagingOptionsImpl.kt
deleted file mode 100644
index 3ea38bb..0000000
--- a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/DexPackagingOptionsImpl.kt
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.build.gradle.internal.dsl
-
-import com.android.build.api.dsl.DexPackagingOptions
-
-open class DexPackagingOptionsImpl : DexPackagingOptions {
- override var useLegacyPackaging: Boolean? = null
-}
diff --git a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/JniLibsPackagingOptionsImpl.kt b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/JniLibsPackagingOptionsImpl.kt
index 551d520..60afeae 100644
--- a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/JniLibsPackagingOptionsImpl.kt
+++ b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/JniLibsPackagingOptionsImpl.kt
@@ -18,34 +18,13 @@
import com.android.build.api.dsl.JniLibsPackagingOptions
-open class JniLibsPackagingOptionsImpl : JniLibsPackagingOptions {
-
- override var useLegacyPackaging: Boolean? = null
-
- override val excludes: MutableSet<String> = mutableSetOf()
-
+abstract class JniLibsPackagingOptionsImpl : JniLibsPackagingOptions {
// support excludes += 'foo' syntax in groovy
- fun setExcludes(patterns: Set<String>) {
- val newExcludes = patterns.toList()
- excludes.clear()
- excludes.addAll(newExcludes)
- }
-
- override val pickFirsts: MutableSet<String> = mutableSetOf()
+ abstract fun setExcludes(patterns: Set<String>)
// support pickFirsts += 'foo' syntax in groovy
- fun setPickFirsts(patterns: Set<String>) {
- val newPickFirsts = patterns.toList()
- pickFirsts.clear()
- pickFirsts.addAll(newPickFirsts)
- }
-
- override val keepDebugSymbols: MutableSet<String> = mutableSetOf()
+ abstract fun setPickFirsts(patterns: Set<String>)
// support keepDebugSymbols += 'foo' syntax in groovy
- fun setKeepDebugSymbols(patterns: Set<String>) {
- val newKeepDebugSymbols = patterns.toList()
- keepDebugSymbols.clear()
- keepDebugSymbols.addAll(newKeepDebugSymbols)
- }
+ abstract fun setKeepDebugSymbols(patterns: Set<String>)
}
diff --git a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/PackagingOptions.kt b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/PackagingOptions.kt
index 9a8f59f..9ac4b01 100644
--- a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/PackagingOptions.kt
+++ b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/PackagingOptions.kt
@@ -19,9 +19,9 @@
import com.android.build.api.dsl.DexPackagingOptions
import com.android.build.api.dsl.JniLibsPackagingOptions
import com.android.build.api.dsl.ResourcesPackagingOptions
+import com.android.build.gradle.internal.dsl.decorator.annotation.WithLazyInitialization
import com.android.build.gradle.internal.packaging.defaultExcludes
import com.android.build.gradle.internal.packaging.defaultMerges
-import com.android.build.gradle.internal.services.DslServices
import org.gradle.api.Action
import javax.inject.Inject
@@ -142,88 +142,37 @@
* }
* </pre>
*/
-open class PackagingOptions @Inject constructor(dslServices: DslServices) :
+abstract class PackagingOptions
+@Inject @WithLazyInitialization("lazyInit") constructor() :
com.android.builder.model.PackagingOptions,
com.android.build.api.dsl.PackagingOptions {
- override val excludes: MutableSet<String> = defaultExcludes.toMutableSet()
-
- fun setExcludes(patterns: Set<String>) {
- val newExcludes = patterns.toList()
- excludes.clear()
- excludes.addAll(newExcludes)
+ protected fun lazyInit() {
+ setExcludes(defaultExcludes)
+ setMerges(defaultMerges)
}
+ abstract fun setExcludes(patterns: Set<String>)
+
override fun exclude(pattern: String) {
excludes.add(pattern);
}
- override val pickFirsts: MutableSet<String> = mutableSetOf()
-
- fun setPickFirsts(patterns: Set<String>) {
- val newPickFirsts = patterns.toList()
- pickFirsts.clear()
- pickFirsts.addAll(newPickFirsts)
- }
+ abstract fun setPickFirsts(patterns: Set<String>)
override fun pickFirst(pattern: String) {
pickFirsts.add(pattern);
}
- override val merges: MutableSet<String> = defaultMerges.toMutableSet()
-
- fun setMerges(patterns: Set<String>) {
- val newMerges = patterns.toList()
- merges.clear()
- merges.addAll(newMerges)
- }
+ abstract fun setMerges(patterns: Set<String>)
override fun merge(pattern: String) {
merges.add(pattern);
}
- override val doNotStrip: MutableSet<String> = mutableSetOf()
-
- fun setDoNotStrip(patterns: Set<String>) {
- val newDoNotStrip = patterns.toList()
- doNotStrip.clear()
- doNotStrip.addAll(newDoNotStrip)
- }
+ abstract fun setDoNotStrip(patterns: Set<String>)
override fun doNotStrip(pattern: String) {
doNotStrip.add(pattern);
}
-
- override val dex: DexPackagingOptions =
- dslServices.newInstance(DexPackagingOptionsImpl::class.java)
-
- override fun dex(action: DexPackagingOptions.() -> Unit) {
- action.invoke(dex)
- }
-
- fun dex(action: Action<DexPackagingOptions>) {
- action.execute(dex)
- }
-
- override val jniLibs: JniLibsPackagingOptions =
- dslServices.newInstance(JniLibsPackagingOptionsImpl::class.java)
-
- override fun jniLibs(action: JniLibsPackagingOptions.() -> Unit) {
- action.invoke(jniLibs)
- }
-
- fun jniLibs(action: Action<JniLibsPackagingOptions>) {
- action.execute(jniLibs)
- }
-
- override val resources: ResourcesPackagingOptions =
- dslServices.newInstance(ResourcesPackagingOptionsImpl::class.java)
-
- override fun resources(action: ResourcesPackagingOptions.() -> Unit) {
- action.invoke(resources)
- }
-
- fun resources(action: Action<ResourcesPackagingOptions>) {
- action.execute(resources)
- }
}
diff --git a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/ResourcesPackagingOptionsImpl.kt b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/ResourcesPackagingOptionsImpl.kt
index d6acc67..6ed6c02 100644
--- a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/ResourcesPackagingOptionsImpl.kt
+++ b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/ResourcesPackagingOptionsImpl.kt
@@ -17,35 +17,25 @@
package com.android.build.gradle.internal.dsl
import com.android.build.api.dsl.ResourcesPackagingOptions
+import com.android.build.gradle.internal.dsl.decorator.annotation.WithLazyInitialization
import com.android.build.gradle.internal.packaging.defaultExcludes
import com.android.build.gradle.internal.packaging.defaultMerges
+import javax.inject.Inject
-open class ResourcesPackagingOptionsImpl : ResourcesPackagingOptions {
+abstract class ResourcesPackagingOptionsImpl
+@Inject @WithLazyInitialization("lazyInit") constructor() : ResourcesPackagingOptions {
- override val excludes: MutableSet<String> = defaultExcludes.toMutableSet()
+ protected fun lazyInit() {
+ setExcludes(defaultExcludes)
+ setMerges(defaultMerges)
+ }
// support excludes += 'foo' syntax in groovy
- fun setExcludes(patterns: Set<String>) {
- val newExcludes = patterns.toList()
- excludes.clear()
- excludes.addAll(newExcludes)
- }
-
- override val pickFirsts: MutableSet<String> = mutableSetOf()
+ abstract fun setExcludes(patterns: Set<String>)
// support pickFirsts += 'foo' syntax in groovy
- fun setPickFirsts(patterns: Set<String>) {
- val newPickFirsts = patterns.toList()
- pickFirsts.clear()
- pickFirsts.addAll(newPickFirsts)
- }
-
- override val merges: MutableSet<String> = defaultMerges.toMutableSet()
+ abstract fun setPickFirsts(patterns: Set<String>)
// support merges += 'foo' syntax in groovy
- fun setMerges(patterns: Set<String>) {
- val newMerges = patterns.toList()
- merges.clear()
- merges.addAll(newMerges)
- }
+ abstract fun setMerges(patterns: Set<String>)
}
diff --git a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/decorator/AndroidPluginDslDecorator.kt b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/decorator/AndroidPluginDslDecorator.kt
index 9ceac16..2c673ac 100644
--- a/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/decorator/AndroidPluginDslDecorator.kt
+++ b/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/dsl/decorator/AndroidPluginDslDecorator.kt
@@ -27,6 +27,10 @@
import com.android.build.api.dsl.BundleTexture
import com.android.build.api.dsl.LibraryPublishing
import com.android.build.api.dsl.CompileOptions
+import com.android.build.api.dsl.DexPackagingOptions
+import com.android.build.api.dsl.JniLibsPackagingOptions
+import com.android.build.api.dsl.PackagingOptions
+import com.android.build.api.dsl.ResourcesPackagingOptions
import com.android.build.api.dsl.SigningConfig
import com.android.build.gradle.internal.dsl.AaptOptions
import com.android.build.gradle.internal.dsl.ApplicationPublishingImpl
@@ -36,7 +40,9 @@
import com.android.build.gradle.internal.dsl.BundleOptionsDeviceTier
import com.android.build.gradle.internal.dsl.BundleOptionsLanguage
import com.android.build.gradle.internal.dsl.BundleOptionsTexture
+import com.android.build.gradle.internal.dsl.JniLibsPackagingOptionsImpl
import com.android.build.gradle.internal.dsl.LibraryPublishingImpl
+import com.android.build.gradle.internal.dsl.ResourcesPackagingOptionsImpl
import org.gradle.api.JavaVersion
/** The list of all the supported property types for the production AGP */
@@ -45,10 +51,14 @@
SupportedPropertyType.Var.Boolean,
SupportedPropertyType.Var.NullableBoolean,
SupportedPropertyType.Var.Int,
+
SupportedPropertyType.Var.Enum(JavaVersion::class.java),
+
SupportedPropertyType.Collection.List,
SupportedPropertyType.Collection.Set,
+
SupportedPropertyType.Block(AndroidResources::class.java, AaptOptions::class.java),
+ SupportedPropertyType.Block(ApplicationPublishing::class.java, ApplicationPublishingImpl::class.java),
SupportedPropertyType.Block(AssetPackBundleExtension::class.java),
SupportedPropertyType.Block(Bundle::class.java, BundleOptions::class.java),
SupportedPropertyType.Block(BundleAbi::class.java, BundleOptionsAbi::class.java),
@@ -57,9 +67,12 @@
SupportedPropertyType.Block(BundleLanguage::class.java, BundleOptionsLanguage::class.java),
SupportedPropertyType.Block(BundleTexture::class.java, BundleOptionsTexture::class.java),
SupportedPropertyType.Block(CompileOptions::class.java, com.android.build.gradle.internal.CompileOptions::class.java),
+ SupportedPropertyType.Block(DexPackagingOptions::class.java),
+ SupportedPropertyType.Block(JniLibsPackagingOptions::class.java, JniLibsPackagingOptionsImpl::class.java),
+ SupportedPropertyType.Block(LibraryPublishing::class.java, LibraryPublishingImpl::class.java),
+ SupportedPropertyType.Block(PackagingOptions::class.java, com.android.build.gradle.internal.dsl.PackagingOptions::class.java),
+ SupportedPropertyType.Block(ResourcesPackagingOptions::class.java, ResourcesPackagingOptionsImpl::class.java),
SupportedPropertyType.Block(SigningConfig::class.java),
- SupportedPropertyType.Block(ApplicationPublishing::class.java, ApplicationPublishingImpl::class.java),
- SupportedPropertyType.Block(LibraryPublishing::class.java, LibraryPublishingImpl::class.java)
)
/**
diff --git a/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/JniLibsApkPackagingOptionsImplTest.kt b/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/JniLibsApkPackagingOptionsImplTest.kt
index dab628d..3455f18 100644
--- a/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/JniLibsApkPackagingOptionsImplTest.kt
+++ b/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/JniLibsApkPackagingOptionsImplTest.kt
@@ -16,7 +16,8 @@
package com.android.build.api.variant.impl
-import com.android.build.gradle.internal.dsl.PackagingOptions
+import com.android.build.api.dsl.PackagingOptions
+import com.android.build.gradle.internal.dsl.decorator.androidPluginDslDecorator
import com.android.build.gradle.internal.services.DslServices
import com.android.build.gradle.internal.services.createDslServices
import com.android.build.gradle.internal.services.createProjectServices
@@ -34,9 +35,16 @@
private val dslServices: DslServices = createDslServices(projectServices)
private val variantPropertiesApiServices = createVariantPropertiesApiServices(projectServices)
+ interface PackagingOptionsWrapper {
+ val packagingOptions: PackagingOptions
+ }
+
@Before
fun setUp() {
- dslPackagingOptions = PackagingOptions(dslServices)
+ dslPackagingOptions = androidPluginDslDecorator.decorate(PackagingOptionsWrapper::class.java)
+ .getDeclaredConstructor(DslServices::class.java)
+ .newInstance(dslServices)
+ .packagingOptions
}
@Test
diff --git a/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/JniLibsPackagingImplTest.kt b/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/JniLibsPackagingImplTest.kt
index 48d5489..1f39368 100644
--- a/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/JniLibsPackagingImplTest.kt
+++ b/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/JniLibsPackagingImplTest.kt
@@ -16,7 +16,8 @@
package com.android.build.api.variant.impl
-import com.android.build.gradle.internal.dsl.PackagingOptions
+import com.android.build.api.dsl.PackagingOptions
+import com.android.build.gradle.internal.dsl.decorator.androidPluginDslDecorator
import com.android.build.gradle.internal.services.DslServices
import com.android.build.gradle.internal.services.createDslServices
import com.android.build.gradle.internal.services.createProjectServices
@@ -33,9 +34,16 @@
private val dslServices: DslServices = createDslServices(projectServices)
private val variantPropertiesApiServices = createVariantPropertiesApiServices(projectServices)
+ interface PackagingOptionsWrapper {
+ val packagingOptions: PackagingOptions
+ }
+
@Before
fun setUp() {
- dslPackagingOptions = PackagingOptions(dslServices)
+ dslPackagingOptions = androidPluginDslDecorator.decorate(PackagingOptionsWrapper::class.java)
+ .getDeclaredConstructor(DslServices::class.java)
+ .newInstance(dslServices)
+ .packagingOptions
}
@Test
diff --git a/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/ResourcesApkPackagingOptionsImplTest.kt b/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/ResourcesApkPackagingOptionsImplTest.kt
index a4f01a3..a575596 100644
--- a/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/ResourcesApkPackagingOptionsImplTest.kt
+++ b/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/ResourcesApkPackagingOptionsImplTest.kt
@@ -16,7 +16,8 @@
package com.android.build.api.variant.impl
-import com.android.build.gradle.internal.dsl.PackagingOptions
+import com.android.build.api.dsl.PackagingOptions
+import com.android.build.gradle.internal.dsl.decorator.androidPluginDslDecorator
import com.android.build.gradle.internal.packaging.defaultExcludes
import com.android.build.gradle.internal.services.DslServices
import com.android.build.gradle.internal.services.createDslServices
@@ -34,9 +35,16 @@
private val dslServices: DslServices = createDslServices(projectServices)
private val variantPropertiesApiServices = createVariantPropertiesApiServices(projectServices)
+ interface PackagingOptionsWrapper {
+ val packagingOptions: PackagingOptions
+ }
+
@Before
fun setUp() {
- dslPackagingOptions = PackagingOptions(dslServices)
+ dslPackagingOptions = androidPluginDslDecorator.decorate(PackagingOptionsWrapper::class.java)
+ .getDeclaredConstructor(DslServices::class.java)
+ .newInstance(dslServices)
+ .packagingOptions
}
@Test
diff --git a/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/ResourcesPackagingImplTest.kt b/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/ResourcesPackagingImplTest.kt
index 5f61191..c93349b 100644
--- a/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/ResourcesPackagingImplTest.kt
+++ b/build-system/gradle-core/src/test/java/com/android/build/api/variant/impl/ResourcesPackagingImplTest.kt
@@ -16,7 +16,8 @@
package com.android.build.api.variant.impl
-import com.android.build.gradle.internal.dsl.PackagingOptions
+import com.android.build.api.dsl.PackagingOptions
+import com.android.build.gradle.internal.dsl.decorator.androidPluginDslDecorator
import com.android.build.gradle.internal.packaging.defaultExcludes
import com.android.build.gradle.internal.packaging.defaultMerges
import com.android.build.gradle.internal.services.DslServices
@@ -35,9 +36,16 @@
private val dslServices: DslServices = createDslServices(projectServices)
private val variantPropertiesApiServices = createVariantPropertiesApiServices(projectServices)
+ interface PackagingOptionsWrapper {
+ val packagingOptions: PackagingOptions
+ }
+
@Before
fun setUp() {
- dslPackagingOptions = PackagingOptions(dslServices)
+ dslPackagingOptions = androidPluginDslDecorator.decorate(PackagingOptionsWrapper::class.java)
+ .getDeclaredConstructor(DslServices::class.java)
+ .newInstance(dslServices)
+ .packagingOptions
}
@Test
diff --git a/build-system/gradle-core/src/test/java/com/android/build/gradle/internal/dsl/PackagingOptionsTest.kt b/build-system/gradle-core/src/test/java/com/android/build/gradle/internal/dsl/PackagingOptionsTest.kt
index ccd40bd..50222eb 100644
--- a/build-system/gradle-core/src/test/java/com/android/build/gradle/internal/dsl/PackagingOptionsTest.kt
+++ b/build-system/gradle-core/src/test/java/com/android/build/gradle/internal/dsl/PackagingOptionsTest.kt
@@ -16,6 +16,7 @@
package com.android.build.gradle.internal.dsl
import com.android.build.api.dsl.PackagingOptions
+import com.android.build.gradle.internal.dsl.decorator.androidPluginDslDecorator
import com.android.build.gradle.internal.services.DslServices
import com.android.build.gradle.internal.services.createDslServices
import com.google.common.collect.Sets
@@ -29,9 +30,16 @@
private lateinit var packagingOptions: PackagingOptions
private val dslServices: DslServices = createDslServices()
+ interface PackagingOptionsWrapper {
+ val packagingOptions: PackagingOptions
+ }
+
@Before
fun init() {
- packagingOptions = PackagingOptions(dslServices)
+ packagingOptions = androidPluginDslDecorator.decorate(PackagingOptionsWrapper::class.java)
+ .getDeclaredConstructor(DslServices::class.java)
+ .newInstance(dslServices)
+ .packagingOptions
}
@Test
diff --git a/build-system/gradle-core/src/test/resources/com/android/build/gradle/pseudo-api.txt b/build-system/gradle-core/src/test/resources/com/android/build/gradle/pseudo-api.txt
index eeaeb36..15d32b8 100644
--- a/build-system/gradle-core/src/test/resources/com/android/build/gradle/pseudo-api.txt
+++ b/build-system/gradle-core/src/test/resources/com/android/build/gradle/pseudo-api.txt
@@ -1540,24 +1540,11 @@
com.android.build.gradle.internal.dsl.NdkOptions.setStl: void (java.lang.String)
com.android.build.gradle.internal.dsl.NdkOptions.setcFlags: void (java.lang.String)
com.android.build.gradle.internal.dsl.PackagingOptions implements com.android.builder.model.PackagingOptions, com.android.build.api.dsl.PackagingOptions
-com.android.build.gradle.internal.dsl.PackagingOptions.<init>: com.android.build.gradle.internal.dsl.PackagingOptions (com.android.build.gradle.internal.services.DslServices)
-com.android.build.gradle.internal.dsl.PackagingOptions.dex: void (kotlin.jvm.functions.Function1<? super com.android.build.api.dsl.DexPackagingOptions, kotlin.Unit>)
-com.android.build.gradle.internal.dsl.PackagingOptions.dex: void (org.gradle.api.Action<com.android.build.api.dsl.DexPackagingOptions>)
+com.android.build.gradle.internal.dsl.PackagingOptions.<init>: com.android.build.gradle.internal.dsl.PackagingOptions ()
com.android.build.gradle.internal.dsl.PackagingOptions.doNotStrip: void (java.lang.String)
com.android.build.gradle.internal.dsl.PackagingOptions.exclude: void (java.lang.String)
-com.android.build.gradle.internal.dsl.PackagingOptions.getDex: com.android.build.api.dsl.DexPackagingOptions ()
-com.android.build.gradle.internal.dsl.PackagingOptions.getDoNotStrip: java.util.Set<java.lang.String> ()
-com.android.build.gradle.internal.dsl.PackagingOptions.getExcludes: java.util.Set<java.lang.String> ()
-com.android.build.gradle.internal.dsl.PackagingOptions.getJniLibs: com.android.build.api.dsl.JniLibsPackagingOptions ()
-com.android.build.gradle.internal.dsl.PackagingOptions.getMerges: java.util.Set<java.lang.String> ()
-com.android.build.gradle.internal.dsl.PackagingOptions.getPickFirsts: java.util.Set<java.lang.String> ()
-com.android.build.gradle.internal.dsl.PackagingOptions.getResources: com.android.build.api.dsl.ResourcesPackagingOptions ()
-com.android.build.gradle.internal.dsl.PackagingOptions.jniLibs: void (kotlin.jvm.functions.Function1<? super com.android.build.api.dsl.JniLibsPackagingOptions, kotlin.Unit>)
-com.android.build.gradle.internal.dsl.PackagingOptions.jniLibs: void (org.gradle.api.Action<com.android.build.api.dsl.JniLibsPackagingOptions>)
com.android.build.gradle.internal.dsl.PackagingOptions.merge: void (java.lang.String)
com.android.build.gradle.internal.dsl.PackagingOptions.pickFirst: void (java.lang.String)
-com.android.build.gradle.internal.dsl.PackagingOptions.resources: void (kotlin.jvm.functions.Function1<? super com.android.build.api.dsl.ResourcesPackagingOptions, kotlin.Unit>)
-com.android.build.gradle.internal.dsl.PackagingOptions.resources: void (org.gradle.api.Action<com.android.build.api.dsl.ResourcesPackagingOptions>)
com.android.build.gradle.internal.dsl.PackagingOptions.setDoNotStrip: void (java.util.Set<java.lang.String>)
com.android.build.gradle.internal.dsl.PackagingOptions.setExcludes: void (java.util.Set<java.lang.String>)
com.android.build.gradle.internal.dsl.PackagingOptions.setMerges: void (java.util.Set<java.lang.String>)