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 Change-Id: I2c00af07aac4a15770d3acab011a36e2e4803bfc
This commit is contained in:
11
apex/apex.go
11
apex/apex.go
@@ -1433,10 +1433,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()) ||
|
||||
|
Reference in New Issue
Block a user