summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
author Colin Cross <ccross@android.com> 2018-07-26 22:02:36 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2018-07-26 22:02:36 +0000
commit4ac2db24ebc267cf22ea1a47ccff9c7788da78e3 (patch)
treed8b1dcdd16b1f901a5766b3c853469e57aface17 /java
parent667f688f361ed732d4209cc38e73335425cd2e2c (diff)
parent1b6a3cfea4ac2a3a82f4b384b1dd526af0f32c12 (diff)
Merge "Set targetSdkVersion in manifest_fixer"
Diffstat (limited to 'java')
-rw-r--r--java/aar.go9
-rw-r--r--java/android_manifest.go13
2 files changed, 17 insertions, 5 deletions
diff --git a/java/aar.go b/java/aar.go
index 0cfc585e8..de67da612 100644
--- a/java/aar.go
+++ b/java/aar.go
@@ -67,6 +67,7 @@ type aapt struct {
rroDirs android.Paths
rTxt android.Path
extraAaptPackagesFile android.Path
+ isLibrary bool
aaptProperties aaptProperties
}
@@ -167,13 +168,16 @@ func (a *aapt) buildActions(ctx android.ModuleContext, sdkContext sdkContext, ex
manifestFile := proptools.StringDefault(a.aaptProperties.Manifest, "AndroidManifest.xml")
manifestSrcPath := android.PathForModuleSrc(ctx, manifestFile)
- manifestPath := manifestMerger(ctx, manifestSrcPath, sdkContext, staticLibManifests)
+ manifestPath := manifestMerger(ctx, manifestSrcPath, sdkContext, staticLibManifests, a.isLibrary)
linkFlags, linkDeps, resDirs, overlayDirs, rroDirs := a.aapt2Flags(ctx, sdkContext, manifestPath)
linkFlags = append(linkFlags, libFlags...)
linkDeps = append(linkDeps, libDeps...)
linkFlags = append(linkFlags, extraLinkFlags...)
+ if a.isLibrary {
+ linkFlags = append(linkFlags, "--static-lib")
+ }
packageRes := android.PathForModuleOut(ctx, "package-res.apk")
srcJar := android.PathForModuleGen(ctx, "R.jar")
@@ -286,7 +290,8 @@ func (a *AndroidLibrary) DepsMutator(ctx android.BottomUpMutatorContext) {
}
func (a *AndroidLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) {
- a.aapt.buildActions(ctx, sdkContext(a), "--static-lib")
+ a.isLibrary = true
+ a.aapt.buildActions(ctx, sdkContext(a))
ctx.CheckbuildFile(a.proguardOptionsFile)
ctx.CheckbuildFile(a.exportPackage)
diff --git a/java/android_manifest.go b/java/android_manifest.go
index 8fcdcbac1..77b6214e1 100644
--- a/java/android_manifest.go
+++ b/java/android_manifest.go
@@ -16,6 +16,7 @@ package java
import (
"android/soong/java/config"
+ "strings"
"github.com/google/blueprint"
@@ -24,10 +25,10 @@ import (
var manifestFixerRule = pctx.AndroidStaticRule("manifestFixer",
blueprint.RuleParams{
- Command: `${config.ManifestFixerCmd} --minSdkVersion ${minSdkVersion} $usesLibraries $in $out`,
+ Command: `${config.ManifestFixerCmd} --minSdkVersion ${minSdkVersion} $args $in $out`,
CommandDeps: []string{"${config.ManifestFixerCmd}"},
},
- "minSdkVersion", "usesLibraries")
+ "minSdkVersion", "args")
var manifestMergerRule = pctx.AndroidStaticRule("manifestMerger",
blueprint.RuleParams{
@@ -38,7 +39,12 @@ var manifestMergerRule = pctx.AndroidStaticRule("manifestMerger",
"libs")
func manifestMerger(ctx android.ModuleContext, manifest android.Path, sdkContext sdkContext,
- staticLibManifests android.Paths) android.Path {
+ staticLibManifests android.Paths, isLibrary bool) android.Path {
+
+ var args []string
+ if isLibrary {
+ args = append(args, "--library")
+ }
// Inject minSdkVersion into the manifest
fixedManifest := android.PathForModuleOut(ctx, "manifest_fixer", "AndroidManifest.xml")
@@ -48,6 +54,7 @@ func manifestMerger(ctx android.ModuleContext, manifest android.Path, sdkContext
Output: fixedManifest,
Args: map[string]string{
"minSdkVersion": sdkVersionOrDefault(ctx, sdkContext.minSdkVersion()),
+ "args": strings.Join(args, " "),
},
})
manifest = fixedManifest