Disable hiddenapi check for building from prebuilts.

Add ReleaseDefaultModuleBuildFromSource to config.productVariables and
use this parameter to disable hiddenapi check.

Test: DEFAULT_MODULE_BUILD_FROM_SOURCE=false m (not failing hiddenapi
check after disabling)
Bug: 301871981
Change-Id: I86b3f3bc21d546022a503a1c6a8a641d4e785565
This commit is contained in:
Alyssa Ketpreechasawat
2023-09-13 03:40:02 +00:00
parent 40c7bae1df
commit 34feb68b28
2 changed files with 13 additions and 2 deletions

View File

@@ -167,7 +167,8 @@ func (c Config) RunningInsideUnitTest() bool {
} }
// DisableHiddenApiChecks returns true if hiddenapi checks have been disabled. // DisableHiddenApiChecks returns true if hiddenapi checks have been disabled.
// For 'eng' target variant hiddenapi checks are disabled by default for performance optimisation, // For 'eng' target variant hiddenapi checks are disabled by default for performance optimisation
// Hiddenapi checks are also disabled when RELEASE_DEFAULT_MODULE_BUILD_FROM_SOURCE is set to false
// but can be enabled by setting environment variable ENABLE_HIDDENAPI_FLAGS=true. // but can be enabled by setting environment variable ENABLE_HIDDENAPI_FLAGS=true.
// For other target variants hiddenapi check are enabled by default but can be disabled by // For other target variants hiddenapi check are enabled by default but can be disabled by
// setting environment variable UNSAFE_DISABLE_HIDDENAPI_FLAGS=true. // setting environment variable UNSAFE_DISABLE_HIDDENAPI_FLAGS=true.
@@ -176,7 +177,8 @@ func (c Config) RunningInsideUnitTest() bool {
func (c Config) DisableHiddenApiChecks() bool { func (c Config) DisableHiddenApiChecks() bool {
return !c.IsEnvTrue("ENABLE_HIDDENAPI_FLAGS") && return !c.IsEnvTrue("ENABLE_HIDDENAPI_FLAGS") &&
(c.IsEnvTrue("UNSAFE_DISABLE_HIDDENAPI_FLAGS") || (c.IsEnvTrue("UNSAFE_DISABLE_HIDDENAPI_FLAGS") ||
Bool(c.productVariables.Eng)) Bool(c.productVariables.Eng) ||
!c.ReleaseDefaultModuleBuildFromSource())
} }
// MaxPageSizeSupported returns the max page size supported by the device. This // MaxPageSizeSupported returns the max page size supported by the device. This
@@ -221,6 +223,13 @@ func (c Config) ReleaseAconfigFlagDefaultPermission() string {
return c.config.productVariables.ReleaseAconfigFlagDefaultPermission return c.config.productVariables.ReleaseAconfigFlagDefaultPermission
} }
// The flag indicating behavior for the tree wrt building modules or using prebuilts
// derived from RELEASE_DEFAULT_MODULE_BUILD_FROM_SOURCE
func (c Config) ReleaseDefaultModuleBuildFromSource() bool {
return c.config.productVariables.ReleaseDefaultModuleBuildFromSource == nil ||
Bool(c.config.productVariables.ReleaseDefaultModuleBuildFromSource)
}
// A DeviceConfig object represents the configuration for a particular device // A DeviceConfig object represents the configuration for a particular device
// being built. For now there will only be one of these, but in the future there // being built. For now there will only be one of these, but in the future there
// may be multiple devices being built. // may be multiple devices being built.

View File

@@ -481,6 +481,8 @@ type ProductVariables struct {
ReleaseAconfigFlagDefaultPermission string `json:",omitempty"` ReleaseAconfigFlagDefaultPermission string `json:",omitempty"`
ReleaseDefaultModuleBuildFromSource *bool `json:",omitempty"`
KeepVndk *bool `json:",omitempty"` KeepVndk *bool `json:",omitempty"`
CheckVendorSeappViolations *bool `json:",omitempty"` CheckVendorSeappViolations *bool `json:",omitempty"`