Merge "Add 'Additional_manifest' property to merge other manifests" am: 81c5f99808 am: 2c4803b3cd am: 48f9e82044

am: a447b0d300

Change-Id: I8153e4c703212aa2f3efd63613555a59e10b8e9e
This commit is contained in:
Colin Cross
2019-08-13 19:00:10 -07:00
committed by android-build-merger
2 changed files with 10 additions and 1 deletions

View File

@@ -173,6 +173,8 @@ func init() {
// Jacoco filters:
"LOCAL_JACK_COVERAGE_INCLUDE_FILTER": "jacoco.include_filter",
"LOCAL_JACK_COVERAGE_EXCLUDE_FILTER": "jacoco.exclude_filter",
"LOCAL_FULL_LIBS_MANIFEST_FILES": "additional_manifests",
})
addStandardProperties(bpparser.BoolType,

View File

@@ -69,6 +69,9 @@ type aaptProperties struct {
// path to AndroidManifest.xml. If unset, defaults to "AndroidManifest.xml".
Manifest *string `android:"path"`
// paths to additional manifest files to merge with main manifest.
Additional_manifests []string `android:"path"`
}
type aapt struct {
@@ -220,7 +223,11 @@ func (a *aapt) buildActions(ctx android.ModuleContext, sdkContext sdkContext, ex
a.transitiveManifestPaths = append(android.Paths{manifestPath}, transitiveStaticLibManifests...)
if len(transitiveStaticLibManifests) > 0 {
a.mergedManifestFile = manifestMerger(ctx, manifestPath, transitiveStaticLibManifests, a.isLibrary)
// Merge additional manifest files with app manifest.
additionalManifests := android.PathsForModuleSrc(ctx, a.aaptProperties.Additional_manifests)
additionalManifests = append(additionalManifests, transitiveStaticLibManifests...)
a.mergedManifestFile = manifestMerger(ctx, manifestPath, additionalManifests, a.isLibrary)
if !a.isLibrary {
// Only use the merged manifest for applications. For libraries, the transitive closure of manifests
// will be propagated to the final application and merged there. The merged manifest for libraries is