diff options
author | Jiyong Park <jiyong@google.com> | 2019-07-15 15:31:16 +0900 |
---|---|---|
committer | Jiyong Park <jiyong@google.com> | 2019-07-15 17:21:20 +0900 |
commit | 53554e25593d6498a229d1dc89208aade4137008 (patch) | |
tree | f3487ca0f2fb9057a00164619277496e9cc895a4 /java | |
parent | 716828ab4ec2a673e6022171bb2b52584ee8e916 (diff) | |
download | build_soong-53554e25593d6498a229d1dc89208aade4137008.tar.gz build_soong-53554e25593d6498a229d1dc89208aade4137008.tar.bz2 build_soong-53554e25593d6498a229d1dc89208aade4137008.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
Diffstat (limited to 'java')
-rw-r--r-- | java/hiddenapi_singleton.go | 2 | ||||
-rw-r--r-- | java/sdk_library.go | 11 |
2 files changed, 9 insertions, 4 deletions
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) |