diff options
| author | changho.shin <changho.shin@lge.com> | 2019-08-08 18:37:17 +0900 |
|---|---|---|
| committer | Bruno Martins <bgcngm@gmail.com> | 2019-09-11 23:37:53 +0200 |
| commit | 3a52efe06472b1e4fcbbea3cd0c985b53e521a4d (patch) | |
| tree | d4ca24433e8d516cb913f78855553eaac23fcbbd | |
| parent | d28507b8ab648fda1f227a2b5825dc89707cba36 (diff) | |
| download | build_soong-3a52efe06472b1e4fcbbea3cd0c985b53e521a4d.tar.gz build_soong-3a52efe06472b1e4fcbbea3cd0c985b53e521a4d.tar.bz2 build_soong-3a52efe06472b1e4fcbbea3cd0c985b53e521a4d.zip | |
Add 'Additional_manifest' property to merge other manifests
This is equivalent to 'LOCAL_FULL_LIBS_MANIFEST_FILES' in Make.
Fixes: 123374442
Test: m -j
Change-Id: Ic4b40a08f2454687c74949020598651acea3b2dd
| -rw-r--r-- | androidmk/cmd/androidmk/android.go | 2 | ||||
| -rw-r--r-- | java/aar.go | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/androidmk/cmd/androidmk/android.go b/androidmk/cmd/androidmk/android.go index 52bcf9c9..e3c5b93a 100644 --- a/androidmk/cmd/androidmk/android.go +++ b/androidmk/cmd/androidmk/android.go @@ -169,6 +169,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, diff --git a/java/aar.go b/java/aar.go index a89c8f19..d0d746c0 100644 --- a/java/aar.go +++ b/java/aar.go @@ -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 { @@ -217,7 +220,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 |
