diff options
author | Colin Cross <ccross@android.com> | 2019-04-19 16:22:57 -0700 |
---|---|---|
committer | Michael Bestas <mkbestas@lineageos.org> | 2019-12-11 19:03:32 +0200 |
commit | efcbabd6f7f9839ef69cd721d45027476540d42e (patch) | |
tree | b848838758b28782c2f459a0edfa23dce12e6996 /java/android_manifest.go | |
parent | 5b5b4c9937d5926c1d48fae513d99d35763fb337 (diff) | |
download | build_soong-efcbabd6f7f9839ef69cd721d45027476540d42e.tar.gz build_soong-efcbabd6f7f9839ef69cd721d45027476540d42e.tar.bz2 build_soong-efcbabd6f7f9839ef69cd721d45027476540d42e.zip |
Don't use merged manifest for android_library modules
Don't use the merged manifest for android_library modules. We
still have to run manifest merger for android_library modules
because Make can't handle transitive dependencies, so it will
continue to merge the manifests at each library, and then merge
the manifests of direct dependencies into the final application.
Bug: 113294940
Test: m checkbuild
Change-Id: Ia8f9f910bd0a134730ddf2d542460eeddbc0a075
Diffstat (limited to 'java/android_manifest.go')
-rw-r--r-- | java/android_manifest.go | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/java/android_manifest.go b/java/android_manifest.go index 8dc3b475..92a4b77b 100644 --- a/java/android_manifest.go +++ b/java/android_manifest.go @@ -41,8 +41,9 @@ var manifestMergerRule = pctx.AndroidStaticRule("manifestMerger", }, "libs") -func manifestMerger(ctx android.ModuleContext, manifest android.Path, sdkContext sdkContext, - staticLibManifests android.Paths, isLibrary, uncompressedJNI, useEmbeddedDex, usesNonSdkApis bool) android.Path { +// Uses manifest_fixer.py to inject minSdkVersion, etc. into an AndroidManifest.xml +func manifestFixer(ctx android.ModuleContext, manifest android.Path, sdkContext sdkContext, + isLibrary, uncompressedJNI, usesNonSdkApis, useEmbeddedDex bool) android.Path { var args []string if isLibrary { @@ -79,35 +80,35 @@ func manifestMerger(ctx android.ModuleContext, manifest android.Path, sdkContext deps = append(deps, apiFingerprint) } - // Inject minSdkVersion into the manifest fixedManifest := android.PathForModuleOut(ctx, "manifest_fixer", "AndroidManifest.xml") ctx.Build(pctx, android.BuildParams{ - Rule: manifestFixerRule, - Input: manifest, - Implicits: deps, - Output: fixedManifest, + Rule: manifestFixerRule, + Description: "fix manifest", + Input: manifest, + Implicits: deps, + Output: fixedManifest, Args: map[string]string{ "minSdkVersion": sdkVersionOrDefault(ctx, sdkContext.minSdkVersion()), "targetSdkVersion": targetSdkVersion, "args": strings.Join(args, " "), }, }) - manifest = fixedManifest - // Merge static aar dependency manifests if necessary - if len(staticLibManifests) > 0 { - mergedManifest := android.PathForModuleOut(ctx, "manifest_merger", "AndroidManifest.xml") - ctx.Build(pctx, android.BuildParams{ - Rule: manifestMergerRule, - Input: manifest, - Implicits: staticLibManifests, - Output: mergedManifest, - Args: map[string]string{ - "libs": android.JoinWithPrefix(staticLibManifests.Strings(), "--libs "), - }, - }) - manifest = mergedManifest - } + return fixedManifest +} + +func manifestMerger(ctx android.ModuleContext, manifest android.Path, staticLibManifests android.Paths) android.Path { + mergedManifest := android.PathForModuleOut(ctx, "manifest_merger", "AndroidManifest.xml") + ctx.Build(pctx, android.BuildParams{ + Rule: manifestMergerRule, + Description: "merge manifest", + Input: manifest, + Implicits: staticLibManifests, + Output: mergedManifest, + Args: map[string]string{ + "libs": android.JoinWithPrefix(staticLibManifests.Strings(), "--libs "), + }, + }) - return manifest + return mergedManifest } |