aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiyong Park <jiyong@google.com>2019-07-15 15:31:16 +0900
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-07-17 03:10:19 +0000
commitb8650ff16bb7fe69370d38cb7002c7b0929067ed (patch)
treef3487ca0f2fb9057a00164619277496e9cc895a4
parent2c7b1c41cd603dece99e8e93f888b83650271e98 (diff)
downloadbuild_soong-b8650ff16bb7fe69370d38cb7002c7b0929067ed.tar.gz
build_soong-b8650ff16bb7fe69370d38cb7002c7b0929067ed.tar.bz2
build_soong-b8650ff16bb7fe69370d38cb7002c7b0929067ed.zip
Fix the unbundled mainline module build
This change fixes two problems: 1) the prebuilt apexes are force disabled for the unbundled builds because we need to build the modules from the source then 2) the dependencies from an sdk_library module to *.stubs.{public|system|tests} are not added for the unbundled build because the stubs modules are disabled. Bug: 137282010 Test: unbundled mainline builds are successful Test: build com.android.media and inspect the jar file to see if hiddenapi flags are there $ cd out/dist/mainline_modules_arm $ unzip com.android.media.apex apex_payload.img $ mkdir -p mnt $ sudo mount -o ro,loop apex_payload.img mnt $ dexdump2 mnt/javalib/updatable-media.jar | grep hiddenapi shows results Merged-In: I2c00af07aac4a15770d3acab011a36e2e4803bfc Change-Id: I2c00af07aac4a15770d3acab011a36e2e4803bfc (cherry picked from commit 53554e25593d6498a229d1dc89208aade4137008)
-rw-r--r--apex/apex.go11
-rw-r--r--java/hiddenapi_singleton.go2
-rw-r--r--java/sdk_library.go11
3 files changed, 16 insertions, 8 deletions
diff --git a/apex/apex.go b/apex/apex.go
index 04b667f8..e5e58601 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -1327,10 +1327,13 @@ func (p *Prebuilt) installable() bool {
}
func (p *Prebuilt) DepsMutator(ctx android.BottomUpMutatorContext) {
- // If the device is configured to use flattened APEX, don't set
- // p.properties.Source so that the prebuilt module (which is
- // a non-flattened APEX) is not used.
- forceDisable := ctx.Config().FlattenApex() && !ctx.Config().UnbundledBuild()
+ // If the device is configured to use flattened APEX, force disable the prebuilt because
+ // the prebuilt is a non-flattened one.
+ forceDisable := ctx.Config().FlattenApex()
+
+ // Force disable the prebuilts when we are doing unbundled build. We do unbundled build
+ // to build the prebuilts themselves.
+ forceDisable = forceDisable || !ctx.Config().UnbundledBuild()
// b/137216042 don't use prebuilts when address sanitizer is on
forceDisable = forceDisable || android.InList("address", ctx.Config().SanitizeDevice()) ||
diff --git a/java/hiddenapi_singleton.go b/java/hiddenapi_singleton.go
index 9627dc64..09936ea7 100644
--- a/java/hiddenapi_singleton.go
+++ b/java/hiddenapi_singleton.go
@@ -94,7 +94,7 @@ func stubFlagsRule(ctx android.SingletonContext) {
// Add the android.test.base to the set of stubs only if the android.test.base module is on
// the boot jars list as the runtime will only enforce hiddenapi access against modules on
// that list.
- if inList("android.test.base", ctx.Config().BootJars()) {
+ if inList("android.test.base", ctx.Config().BootJars()) && !ctx.Config().UnbundledBuildUsePrebuiltSdks() {
publicStubModules = append(publicStubModules, "android.test.base.stubs")
}
diff --git a/java/sdk_library.go b/java/sdk_library.go
index 974131cf..84be4dda 100644
--- a/java/sdk_library.go
+++ b/java/sdk_library.go
@@ -162,15 +162,20 @@ var _ Dependency = (*SdkLibrary)(nil)
var _ SdkLibraryDependency = (*SdkLibrary)(nil)
func (module *SdkLibrary) DepsMutator(ctx android.BottomUpMutatorContext) {
+ useBuiltStubs := !ctx.Config().UnbundledBuildUsePrebuiltSdks()
// Add dependencies to the stubs library
- ctx.AddVariationDependencies(nil, publicApiStubsTag, module.stubsName(apiScopePublic))
+ if useBuiltStubs {
+ ctx.AddVariationDependencies(nil, publicApiStubsTag, module.stubsName(apiScopePublic))
+ }
ctx.AddVariationDependencies(nil, publicApiFileTag, module.docsName(apiScopePublic))
if !Bool(module.properties.No_standard_libs) {
- ctx.AddVariationDependencies(nil, systemApiStubsTag, module.stubsName(apiScopeSystem))
+ if useBuiltStubs {
+ ctx.AddVariationDependencies(nil, systemApiStubsTag, module.stubsName(apiScopeSystem))
+ ctx.AddVariationDependencies(nil, testApiStubsTag, module.stubsName(apiScopeTest))
+ }
ctx.AddVariationDependencies(nil, systemApiFileTag, module.docsName(apiScopeSystem))
ctx.AddVariationDependencies(nil, testApiFileTag, module.docsName(apiScopeTest))
- ctx.AddVariationDependencies(nil, testApiStubsTag, module.stubsName(apiScopeTest))
}
module.Library.deps(ctx)