Merge "Reverse order of transitive R.jar classpath entries" into main am: a7ee3e0482

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2989233

Change-Id: Icca0d53dcdccdc969f6f885060a3368059f17059
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2024-03-07 01:39:10 +00:00
committed by Automerger Merge Worker
2 changed files with 15 additions and 11 deletions

View File

@@ -455,6 +455,11 @@ func (a *aapt) buildActions(ctx android.ModuleContext, opts aaptBuildActionOptio
// as imports. The resources from dependencies will not be merged into this module's package-res.apk, and // as imports. The resources from dependencies will not be merged into this module's package-res.apk, and
// instead modules depending on this module will reference package-res.apk from all transitive static // instead modules depending on this module will reference package-res.apk from all transitive static
// dependencies. // dependencies.
for _, sharedDep := range sharedDeps {
if sharedDep.usedResourceProcessor {
transitiveRJars = append(transitiveRJars, sharedDep.rJar)
}
}
for _, staticDep := range staticDeps { for _, staticDep := range staticDeps {
linkDeps = append(linkDeps, staticDep.resPackage) linkDeps = append(linkDeps, staticDep.resPackage)
linkFlags = append(linkFlags, "-I "+staticDep.resPackage.String()) linkFlags = append(linkFlags, "-I "+staticDep.resPackage.String())
@@ -462,11 +467,6 @@ func (a *aapt) buildActions(ctx android.ModuleContext, opts aaptBuildActionOptio
transitiveRJars = append(transitiveRJars, staticDep.rJar) transitiveRJars = append(transitiveRJars, staticDep.rJar)
} }
} }
for _, sharedDep := range sharedDeps {
if sharedDep.usedResourceProcessor {
transitiveRJars = append(transitiveRJars, sharedDep.rJar)
}
}
} else { } else {
// When building an app or building a library without ResourceProcessorBusyBox enabled all static // When building an app or building a library without ResourceProcessorBusyBox enabled all static
// dependencies are compiled into this module's package-res.apk as overlays. // dependencies are compiled into this module's package-res.apk as overlays.
@@ -556,6 +556,10 @@ func (a *aapt) buildActions(ctx android.ModuleContext, opts aaptBuildActionOptio
transitiveAaptResourcePackagesFile := android.PathForModuleOut(ctx, "transitive-res-packages") transitiveAaptResourcePackagesFile := android.PathForModuleOut(ctx, "transitive-res-packages")
android.WriteFileRule(ctx, transitiveAaptResourcePackagesFile, strings.Join(transitiveAaptResourcePackages, "\n")) android.WriteFileRule(ctx, transitiveAaptResourcePackagesFile, strings.Join(transitiveAaptResourcePackages, "\n"))
// Reverse the list of R.jar files so that the current module comes first, and direct dependencies come before
// transitive dependencies.
transitiveRJars = android.ReversePaths(transitiveRJars)
a.aaptSrcJar = srcJar a.aaptSrcJar = srcJar
a.transitiveAaptRJars = transitiveRJars a.transitiveAaptRJars = transitiveRJars
a.transitiveAaptResourcePackagesFile = transitiveAaptResourcePackagesFile a.transitiveAaptResourcePackagesFile = transitiveAaptResourcePackagesFile

View File

@@ -948,10 +948,10 @@ func TestAndroidResourceProcessor(t *testing.T) {
directSrcJars: nil, directSrcJars: nil,
directClasspath: []string{ directClasspath: []string{
"out/soong/.intermediates/default/java/android_stubs_current/android_common/turbine-combined/android_stubs_current.jar", "out/soong/.intermediates/default/java/android_stubs_current/android_common/turbine-combined/android_stubs_current.jar",
"out/soong/.intermediates/transitive_import/android_common/busybox/R.jar",
"out/soong/.intermediates/transitive_import_dep/android_common/busybox/R.jar",
"out/soong/.intermediates/transitive/android_common/busybox/R.jar",
"out/soong/.intermediates/direct/android_common/busybox/R.jar", "out/soong/.intermediates/direct/android_common/busybox/R.jar",
"out/soong/.intermediates/transitive/android_common/busybox/R.jar",
"out/soong/.intermediates/transitive_import_dep/android_common/busybox/R.jar",
"out/soong/.intermediates/transitive_import/android_common/busybox/R.jar",
"out/soong/.intermediates/transitive/android_common/turbine-combined/transitive.jar", "out/soong/.intermediates/transitive/android_common/turbine-combined/transitive.jar",
"out/soong/.intermediates/transitive_import/android_common/aar/classes-combined.jar", "out/soong/.intermediates/transitive_import/android_common/aar/classes-combined.jar",
}, },
@@ -981,9 +981,9 @@ func TestAndroidResourceProcessor(t *testing.T) {
sharedSrcJars: nil, sharedSrcJars: nil,
sharedClasspath: []string{ sharedClasspath: []string{
"out/soong/.intermediates/default/java/android_stubs_current/android_common/turbine-combined/android_stubs_current.jar", "out/soong/.intermediates/default/java/android_stubs_current/android_common/turbine-combined/android_stubs_current.jar",
"out/soong/.intermediates/shared/android_common/busybox/R.jar",
"out/soong/.intermediates/shared_transitive_static/android_common/busybox/R.jar", "out/soong/.intermediates/shared_transitive_static/android_common/busybox/R.jar",
"out/soong/.intermediates/shared_transitive_shared/android_common/busybox/R.jar", "out/soong/.intermediates/shared_transitive_shared/android_common/busybox/R.jar",
"out/soong/.intermediates/shared/android_common/busybox/R.jar",
"out/soong/.intermediates/shared_transitive_shared/android_common/turbine-combined/shared_transitive_shared.jar", "out/soong/.intermediates/shared_transitive_shared/android_common/turbine-combined/shared_transitive_shared.jar",
"out/soong/.intermediates/shared_transitive_static/android_common/turbine-combined/shared_transitive_static.jar", "out/soong/.intermediates/shared_transitive_static/android_common/turbine-combined/shared_transitive_static.jar",
}, },
@@ -1094,9 +1094,9 @@ func TestAndroidResourceProcessor(t *testing.T) {
directSrcJars: nil, directSrcJars: nil,
directClasspath: []string{ directClasspath: []string{
"out/soong/.intermediates/default/java/android_stubs_current/android_common/turbine-combined/android_stubs_current.jar", "out/soong/.intermediates/default/java/android_stubs_current/android_common/turbine-combined/android_stubs_current.jar",
"out/soong/.intermediates/transitive_import/android_common/busybox/R.jar",
"out/soong/.intermediates/transitive_import_dep/android_common/busybox/R.jar",
"out/soong/.intermediates/direct/android_common/busybox/R.jar", "out/soong/.intermediates/direct/android_common/busybox/R.jar",
"out/soong/.intermediates/transitive_import_dep/android_common/busybox/R.jar",
"out/soong/.intermediates/transitive_import/android_common/busybox/R.jar",
"out/soong/.intermediates/transitive/android_common/turbine-combined/transitive.jar", "out/soong/.intermediates/transitive/android_common/turbine-combined/transitive.jar",
"out/soong/.intermediates/transitive_import/android_common/aar/classes-combined.jar", "out/soong/.intermediates/transitive_import/android_common/aar/classes-combined.jar",
}, },