Skip to content

Commit 66cf946

Browse files
committed
Sync changes in DependencyConfigurator.kt
1 parent 336dec7 commit 66cf946

File tree

1 file changed

+15
-47
lines changed

1 file changed

+15
-47
lines changed

agp-patch/src/main/kotlin/com/android/build/gradle/internal/DependencyConfigurator.kt

Lines changed: 15 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,6 @@ import com.android.build.gradle.internal.packaging.getDefaultDebugKeystoreSignin
7474
import com.android.build.gradle.internal.profile.AnalyticsService
7575
import com.android.build.gradle.internal.publishing.AarOrJarTypeToConsume
7676
import com.android.build.gradle.internal.publishing.AndroidArtifacts
77-
import com.android.build.gradle.internal.res.namespaced.AutoNamespacePreProcessTransform
78-
import com.android.build.gradle.internal.res.namespaced.AutoNamespaceTransform
7977
import com.android.build.gradle.internal.scope.InternalArtifactType
8078
import com.android.build.gradle.internal.services.AndroidLocationsBuildService
8179
import com.android.build.gradle.internal.services.ProjectServices
@@ -155,22 +153,14 @@ class DependencyConfigurator(
155153
}
156154

157155
fun configureGeneralTransforms(
158-
namespacedAndroidResources: Boolean,
159156
aarOrJarTypeToConsume: AarOrJarTypeToConsume
160157
): DependencyConfigurator {
161158
val dependencies: DependencyHandler = project.dependencies
162159

163160
val projectOptions = projectServices.projectOptions
164161

165-
// The aars/jars may need to be processed (e.g., jetified to AndroidX) before they can be
166-
// used
167-
val autoNamespaceDependencies =
168-
namespacedAndroidResources && projectOptions[BooleanOption.CONVERT_NON_NAMESPACED_DEPENDENCIES]
169-
val jetifiedAarOutputType = if (autoNamespaceDependencies) {
170-
AndroidArtifacts.ArtifactType.MAYBE_NON_NAMESPACED_PROCESSED_AAR
171-
} else {
172-
AndroidArtifacts.ArtifactType.PROCESSED_AAR
173-
}
162+
val jetifiedAarOutputType = AndroidArtifacts.ArtifactType.PROCESSED_AAR
163+
174164
// Arguments passed to an ArtifactTransform must not be null
175165
val jetifierIgnoreList = projectOptions[StringOption.JETIFIER_IGNORE_LIST] ?: ""
176166
if (projectOptions.get(BooleanOption.ENABLE_JETIFIER)) {
@@ -188,17 +178,10 @@ class DependencyConfigurator(
188178
) { params ->
189179
params.ignoreListOption.setDisallowChanges(jetifierIgnoreList)
190180
}
191-
} else if (autoNamespaceDependencies) {
192-
// Namespaced resources code path is not optimized. Identity transforms are removed
193-
// otherwise.
181+
} else if (projectOptions[BooleanOption.ENABLE_IDENTITY_TRANSFORMS_FOR_PROCESSED_ARTIFACTS]) {
182+
// These should not be needed in most scenarios now, but keeping the option for
183+
// backwards compatibility.
194184
registerIdentityTransformWhenJetifierIsDisabled(jetifiedAarOutputType)
195-
} else {
196-
// Still register the transform if/when dagger plugin is applied
197-
// TODO(b/288221106): Dagger plugin depends on our internal implementation,
198-
// we need to eliminate their dependency on this to be able to remove the following.
199-
project.plugins.withId("dagger.hilt.android.plugin") {
200-
registerIdentityTransformWhenJetifierIsDisabled(jetifiedAarOutputType)
201-
}
202185
}
203186

204187
registerTransform(
@@ -281,6 +264,9 @@ class DependencyConfigurator(
281264
spec.parameters.projectName.setDisallowChanges(project.name)
282265
spec.parameters.targetType.setDisallowChanges(transformTarget)
283266
spec.parameters.namespacedSharedLibSupport.setDisallowChanges(namespacedSharedLibSupport)
267+
spec.parameters.filterOutGlobalRules.setDisallowChanges(
268+
projectOptions[BooleanOption.R8_GLOBAL_OPTIONS_IN_CONSUMER_RULES_DISALLOWED]
269+
)
284270
}
285271
}
286272
if (projectOptions[BooleanOption.PRECOMPILE_DEPENDENCIES_RESOURCES]) {
@@ -353,37 +339,19 @@ class DependencyConfigurator(
353339
ExtractProGuardRulesTransform::class.java,
354340
aarOrJarTypeToConsume.jar,
355341
AndroidArtifacts.ArtifactType.UNFILTERED_PROGUARD_RULES
356-
)
342+
) { params ->
343+
params.filterOutGlobalRules.set(
344+
projectServices.projectOptions.get(
345+
BooleanOption.R8_GLOBAL_OPTIONS_IN_CONSUMER_RULES_DISALLOWED
346+
)
347+
)
348+
}
357349
}
358350
registerTransform(
359351
LibrarySymbolTableTransform::class.java,
360352
AndroidArtifacts.ArtifactType.EXPLODED_AAR,
361353
AndroidArtifacts.ArtifactType.SYMBOL_LIST_WITH_PACKAGE_NAME
362354
)
363-
if (autoNamespaceDependencies) {
364-
registerTransform(
365-
AutoNamespacePreProcessTransform::class.java,
366-
AndroidArtifacts.ArtifactType.MAYBE_NON_NAMESPACED_PROCESSED_AAR,
367-
AndroidArtifacts.ArtifactType.PREPROCESSED_AAR_FOR_AUTO_NAMESPACE
368-
) { params ->
369-
projectServices.initializeAapt2Input(params.aapt2, task = null)
370-
}
371-
registerTransform(
372-
AutoNamespacePreProcessTransform::class.java,
373-
AndroidArtifacts.ArtifactType.JAR,
374-
AndroidArtifacts.ArtifactType.PREPROCESSED_AAR_FOR_AUTO_NAMESPACE
375-
) { params ->
376-
projectServices.initializeAapt2Input(params.aapt2, task = null)
377-
}
378-
379-
registerTransform(
380-
AutoNamespaceTransform::class.java,
381-
AndroidArtifacts.ArtifactType.PREPROCESSED_AAR_FOR_AUTO_NAMESPACE,
382-
AndroidArtifacts.ArtifactType.PROCESSED_AAR
383-
) { params ->
384-
projectServices.initializeAapt2Input(params.aapt2, task = null)
385-
}
386-
}
387355
// Transform to go from external jars to CLASSES and JAVA_RES artifacts. This returns the
388356
// same exact file but with different types, since a jar file can contain both.
389357
for (classesOrResources in arrayOf(

0 commit comments

Comments
 (0)