Make Config.ProductVariables private
All access to these should be going through the methods on Config / DeviceConfig. Bug: 76168832 Test: m blueprint_tools Change-Id: I47512dd58fb1a1a3f25838a9b1adaed2c41af8d3
This commit is contained in:
parent
674dc7f7f0
commit
45133ac184
6 changed files with 73 additions and 73 deletions
|
@ -72,7 +72,7 @@ func (c *androidMkSingleton) GenerateBuildActions(ctx SingletonContext) {
|
|||
|
||||
sort.Sort(AndroidModulesByName{androidMkModulesList, ctx})
|
||||
|
||||
transMk := PathForOutput(ctx, "Android"+String(ctx.Config().ProductVariables.Make_suffix)+".mk")
|
||||
transMk := PathForOutput(ctx, "Android"+String(ctx.Config().productVariables.Make_suffix)+".mk")
|
||||
if ctx.Failed() {
|
||||
return
|
||||
}
|
||||
|
|
|
@ -821,7 +821,7 @@ func forEachInterface(v reflect.Value, f func(reflect.Value)) {
|
|||
|
||||
// Convert the arch product variables into a list of targets for each os class structs
|
||||
func decodeTargetProductVariables(config *config) (map[OsClass][]Target, error) {
|
||||
variables := config.ProductVariables
|
||||
variables := config.productVariables
|
||||
|
||||
targets := make(map[OsClass][]Target)
|
||||
var targetErr error
|
||||
|
|
|
@ -67,7 +67,7 @@ type DeviceConfig struct {
|
|||
|
||||
type config struct {
|
||||
FileConfigurableOptions
|
||||
ProductVariables productVariables
|
||||
productVariables productVariables
|
||||
|
||||
// Only available on configs created by TestConfig
|
||||
TestProductVariables *productVariables
|
||||
|
@ -117,7 +117,7 @@ func loadConfig(config *config) error {
|
|||
return err
|
||||
}
|
||||
|
||||
return loadFromConfigFile(&config.ProductVariables, config.ProductVariablesFileName)
|
||||
return loadFromConfigFile(&config.productVariables, config.ProductVariablesFileName)
|
||||
}
|
||||
|
||||
// loads configuration options from a JSON file in the cwd.
|
||||
|
@ -184,7 +184,7 @@ func saveToConfigFile(config jsonConfigurable, filename string) error {
|
|||
// TestConfig returns a Config object suitable for using for tests
|
||||
func TestConfig(buildDir string, env map[string]string) Config {
|
||||
config := &config{
|
||||
ProductVariables: productVariables{
|
||||
productVariables: productVariables{
|
||||
DeviceName: stringPtr("test_device"),
|
||||
Platform_sdk_version: intPtr(26),
|
||||
AAPTConfig: &[]string{"normal", "large", "xlarge", "hdpi", "xhdpi", "xxhdpi"},
|
||||
|
@ -200,7 +200,7 @@ func TestConfig(buildDir string, env map[string]string) Config {
|
|||
config.deviceConfig = &deviceConfig{
|
||||
config: config,
|
||||
}
|
||||
config.TestProductVariables = &config.ProductVariables
|
||||
config.TestProductVariables = &config.productVariables
|
||||
|
||||
if err := config.fromEnv(); err != nil {
|
||||
panic(err)
|
||||
|
@ -432,28 +432,28 @@ func (c *config) EmbeddedInMake() bool {
|
|||
}
|
||||
|
||||
func (c *config) BuildId() string {
|
||||
return String(c.ProductVariables.BuildId)
|
||||
return String(c.productVariables.BuildId)
|
||||
}
|
||||
|
||||
func (c *config) BuildNumberFromFile() string {
|
||||
return String(c.ProductVariables.BuildNumberFromFile)
|
||||
return String(c.productVariables.BuildNumberFromFile)
|
||||
}
|
||||
|
||||
// DeviceName returns the name of the current device target
|
||||
// TODO: take an AndroidModuleContext to select the device name for multi-device builds
|
||||
func (c *config) DeviceName() string {
|
||||
return *c.ProductVariables.DeviceName
|
||||
return *c.productVariables.DeviceName
|
||||
}
|
||||
|
||||
func (c *config) ResourceOverlays() []string {
|
||||
if c.ProductVariables.ResourceOverlays == nil {
|
||||
if c.productVariables.ResourceOverlays == nil {
|
||||
return nil
|
||||
}
|
||||
return *c.ProductVariables.ResourceOverlays
|
||||
return *c.productVariables.ResourceOverlays
|
||||
}
|
||||
|
||||
func (c *config) PlatformSdkVersionInt() int {
|
||||
return *c.ProductVariables.Platform_sdk_version
|
||||
return *c.productVariables.Platform_sdk_version
|
||||
}
|
||||
|
||||
func (c *config) PlatformSdkVersion() string {
|
||||
|
@ -465,7 +465,7 @@ func (c *config) MinSupportedSdkVersion() int {
|
|||
}
|
||||
|
||||
func (c *config) DefaultAppTargetSdkInt() int {
|
||||
if Bool(c.ProductVariables.Platform_sdk_final) {
|
||||
if Bool(c.productVariables.Platform_sdk_final) {
|
||||
return c.PlatformSdkVersionInt()
|
||||
} else {
|
||||
return FutureApiLevel
|
||||
|
@ -473,18 +473,18 @@ func (c *config) DefaultAppTargetSdkInt() int {
|
|||
}
|
||||
|
||||
func (c *config) AppsDefaultVersionName() string {
|
||||
return String(c.ProductVariables.AppsDefaultVersionName)
|
||||
return String(c.productVariables.AppsDefaultVersionName)
|
||||
}
|
||||
|
||||
// Codenames that are active in the current lunch target.
|
||||
func (c *config) PlatformVersionActiveCodenames() []string {
|
||||
return c.ProductVariables.Platform_version_active_codenames
|
||||
return c.productVariables.Platform_version_active_codenames
|
||||
}
|
||||
|
||||
// Codenames that are available in the branch but not included in the current
|
||||
// lunch target.
|
||||
func (c *config) PlatformVersionFutureCodenames() []string {
|
||||
return c.ProductVariables.Platform_version_future_codenames
|
||||
return c.productVariables.Platform_version_future_codenames
|
||||
}
|
||||
|
||||
// All possible codenames in the current branch. NB: Not named AllCodenames
|
||||
|
@ -498,23 +498,23 @@ func (c *config) PlatformVersionCombinedCodenames() []string {
|
|||
}
|
||||
|
||||
func (c *config) ProductAAPTConfig() []string {
|
||||
return stringSlice(c.ProductVariables.AAPTConfig)
|
||||
return stringSlice(c.productVariables.AAPTConfig)
|
||||
}
|
||||
|
||||
func (c *config) ProductAAPTPreferredConfig() string {
|
||||
return String(c.ProductVariables.AAPTPreferredConfig)
|
||||
return String(c.productVariables.AAPTPreferredConfig)
|
||||
}
|
||||
|
||||
func (c *config) ProductAAPTCharacteristics() string {
|
||||
return String(c.ProductVariables.AAPTCharacteristics)
|
||||
return String(c.productVariables.AAPTCharacteristics)
|
||||
}
|
||||
|
||||
func (c *config) ProductAAPTPrebuiltDPI() []string {
|
||||
return stringSlice(c.ProductVariables.AAPTPrebuiltDPI)
|
||||
return stringSlice(c.productVariables.AAPTPrebuiltDPI)
|
||||
}
|
||||
|
||||
func (c *config) DefaultAppCertificateDir(ctx PathContext) SourcePath {
|
||||
defaultCert := String(c.ProductVariables.DefaultAppCertificate)
|
||||
defaultCert := String(c.productVariables.DefaultAppCertificate)
|
||||
if defaultCert != "" {
|
||||
return PathForSource(ctx, filepath.Dir(defaultCert))
|
||||
} else {
|
||||
|
@ -523,7 +523,7 @@ func (c *config) DefaultAppCertificateDir(ctx PathContext) SourcePath {
|
|||
}
|
||||
|
||||
func (c *config) DefaultAppCertificate(ctx PathContext) (pem, key SourcePath) {
|
||||
defaultCert := String(c.ProductVariables.DefaultAppCertificate)
|
||||
defaultCert := String(c.productVariables.DefaultAppCertificate)
|
||||
if defaultCert != "" {
|
||||
return PathForSource(ctx, defaultCert+".x509.pem"), PathForSource(ctx, defaultCert+".pk8")
|
||||
} else {
|
||||
|
@ -533,23 +533,23 @@ func (c *config) DefaultAppCertificate(ctx PathContext) (pem, key SourcePath) {
|
|||
}
|
||||
|
||||
func (c *config) AllowMissingDependencies() bool {
|
||||
return Bool(c.ProductVariables.Allow_missing_dependencies)
|
||||
return Bool(c.productVariables.Allow_missing_dependencies)
|
||||
}
|
||||
|
||||
func (c *config) UnbundledBuild() bool {
|
||||
return Bool(c.ProductVariables.Unbundled_build)
|
||||
return Bool(c.productVariables.Unbundled_build)
|
||||
}
|
||||
|
||||
func (c *config) IsPdkBuild() bool {
|
||||
return Bool(c.ProductVariables.Pdk)
|
||||
return Bool(c.productVariables.Pdk)
|
||||
}
|
||||
|
||||
func (c *config) MinimizeJavaDebugInfo() bool {
|
||||
return Bool(c.ProductVariables.MinimizeJavaDebugInfo) && !Bool(c.ProductVariables.Eng)
|
||||
return Bool(c.productVariables.MinimizeJavaDebugInfo) && !Bool(c.productVariables.Eng)
|
||||
}
|
||||
|
||||
func (c *config) DevicePrefer32BitExecutables() bool {
|
||||
return Bool(c.ProductVariables.DevicePrefer32BitExecutables)
|
||||
return Bool(c.productVariables.DevicePrefer32BitExecutables)
|
||||
}
|
||||
|
||||
func (c *config) SkipDeviceInstall() bool {
|
||||
|
@ -562,26 +562,26 @@ func (c *config) SkipMegaDeviceInstall(path string) bool {
|
|||
}
|
||||
|
||||
func (c *config) SanitizeHost() []string {
|
||||
return append([]string(nil), c.ProductVariables.SanitizeHost...)
|
||||
return append([]string(nil), c.productVariables.SanitizeHost...)
|
||||
}
|
||||
|
||||
func (c *config) SanitizeDevice() []string {
|
||||
return append([]string(nil), c.ProductVariables.SanitizeDevice...)
|
||||
return append([]string(nil), c.productVariables.SanitizeDevice...)
|
||||
}
|
||||
|
||||
func (c *config) SanitizeDeviceDiag() []string {
|
||||
return append([]string(nil), c.ProductVariables.SanitizeDeviceDiag...)
|
||||
return append([]string(nil), c.productVariables.SanitizeDeviceDiag...)
|
||||
}
|
||||
|
||||
func (c *config) SanitizeDeviceArch() []string {
|
||||
return append([]string(nil), c.ProductVariables.SanitizeDeviceArch...)
|
||||
return append([]string(nil), c.productVariables.SanitizeDeviceArch...)
|
||||
}
|
||||
|
||||
func (c *config) EnableCFI() bool {
|
||||
if c.ProductVariables.EnableCFI == nil {
|
||||
if c.productVariables.EnableCFI == nil {
|
||||
return true
|
||||
} else {
|
||||
return *c.ProductVariables.EnableCFI
|
||||
return *c.productVariables.EnableCFI
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -600,7 +600,7 @@ func (c *config) UseD8Desugar() bool {
|
|||
}
|
||||
|
||||
func (c *config) UseGoma() bool {
|
||||
return Bool(c.ProductVariables.UseGoma)
|
||||
return Bool(c.productVariables.UseGoma)
|
||||
}
|
||||
|
||||
// Returns true if OpenJDK9 prebuilts are being used
|
||||
|
@ -614,14 +614,14 @@ func (c *config) TargetOpenJDK9() bool {
|
|||
}
|
||||
|
||||
func (c *config) ClangTidy() bool {
|
||||
return Bool(c.ProductVariables.ClangTidy)
|
||||
return Bool(c.productVariables.ClangTidy)
|
||||
}
|
||||
|
||||
func (c *config) TidyChecks() string {
|
||||
if c.ProductVariables.TidyChecks == nil {
|
||||
if c.productVariables.TidyChecks == nil {
|
||||
return ""
|
||||
}
|
||||
return *c.ProductVariables.TidyChecks
|
||||
return *c.productVariables.TidyChecks
|
||||
}
|
||||
|
||||
func (c *config) LibartImgHostBaseAddress() string {
|
||||
|
@ -642,11 +642,11 @@ func (c *config) LibartImgDeviceBaseAddress() string {
|
|||
}
|
||||
|
||||
func (c *config) ArtUseReadBarrier() bool {
|
||||
return Bool(c.ProductVariables.ArtUseReadBarrier)
|
||||
return Bool(c.productVariables.ArtUseReadBarrier)
|
||||
}
|
||||
|
||||
func (c *config) EnforceRROForModule(name string) bool {
|
||||
enforceList := c.ProductVariables.EnforceRROTargets
|
||||
enforceList := c.productVariables.EnforceRROTargets
|
||||
if enforceList != nil {
|
||||
if len(*enforceList) == 1 && (*enforceList)[0] == "*" {
|
||||
return true
|
||||
|
@ -657,7 +657,7 @@ func (c *config) EnforceRROForModule(name string) bool {
|
|||
}
|
||||
|
||||
func (c *config) EnforceRROExcludedOverlay(path string) bool {
|
||||
excluded := c.ProductVariables.EnforceRROExcludedOverlays
|
||||
excluded := c.productVariables.EnforceRROExcludedOverlays
|
||||
if excluded != nil {
|
||||
for _, exclude := range *excluded {
|
||||
if strings.HasPrefix(path, exclude) {
|
||||
|
@ -669,11 +669,11 @@ func (c *config) EnforceRROExcludedOverlay(path string) bool {
|
|||
}
|
||||
|
||||
func (c *config) ExportedNamespaces() []string {
|
||||
return append([]string(nil), c.ProductVariables.NamespacesToExport...)
|
||||
return append([]string(nil), c.productVariables.NamespacesToExport...)
|
||||
}
|
||||
|
||||
func (c *config) HostStaticBinaries() bool {
|
||||
return Bool(c.ProductVariables.HostStaticBinaries)
|
||||
return Bool(c.productVariables.HostStaticBinaries)
|
||||
}
|
||||
|
||||
func (c *deviceConfig) Arches() []Arch {
|
||||
|
@ -685,7 +685,7 @@ func (c *deviceConfig) Arches() []Arch {
|
|||
}
|
||||
|
||||
func (c *deviceConfig) BinderBitness() string {
|
||||
is32BitBinder := c.config.ProductVariables.Binder32bit
|
||||
is32BitBinder := c.config.productVariables.Binder32bit
|
||||
if is32BitBinder != nil && *is32BitBinder {
|
||||
return "32"
|
||||
}
|
||||
|
@ -693,70 +693,70 @@ func (c *deviceConfig) BinderBitness() string {
|
|||
}
|
||||
|
||||
func (c *deviceConfig) VendorPath() string {
|
||||
if c.config.ProductVariables.VendorPath != nil {
|
||||
return *c.config.ProductVariables.VendorPath
|
||||
if c.config.productVariables.VendorPath != nil {
|
||||
return *c.config.productVariables.VendorPath
|
||||
}
|
||||
return "vendor"
|
||||
}
|
||||
|
||||
func (c *deviceConfig) VndkVersion() string {
|
||||
return String(c.config.ProductVariables.DeviceVndkVersion)
|
||||
return String(c.config.productVariables.DeviceVndkVersion)
|
||||
}
|
||||
|
||||
func (c *deviceConfig) PlatformVndkVersion() string {
|
||||
return String(c.config.ProductVariables.Platform_vndk_version)
|
||||
return String(c.config.productVariables.Platform_vndk_version)
|
||||
}
|
||||
|
||||
func (c *deviceConfig) ExtraVndkVersions() []string {
|
||||
return c.config.ProductVariables.ExtraVndkVersions
|
||||
return c.config.productVariables.ExtraVndkVersions
|
||||
}
|
||||
|
||||
func (c *deviceConfig) SystemSdkVersions() []string {
|
||||
if c.config.ProductVariables.DeviceSystemSdkVersions == nil {
|
||||
if c.config.productVariables.DeviceSystemSdkVersions == nil {
|
||||
return nil
|
||||
}
|
||||
return *c.config.ProductVariables.DeviceSystemSdkVersions
|
||||
return *c.config.productVariables.DeviceSystemSdkVersions
|
||||
}
|
||||
|
||||
func (c *deviceConfig) PlatformSystemSdkVersions() []string {
|
||||
return c.config.ProductVariables.Platform_systemsdk_versions
|
||||
return c.config.productVariables.Platform_systemsdk_versions
|
||||
}
|
||||
|
||||
func (c *deviceConfig) OdmPath() string {
|
||||
if c.config.ProductVariables.OdmPath != nil {
|
||||
return *c.config.ProductVariables.OdmPath
|
||||
if c.config.productVariables.OdmPath != nil {
|
||||
return *c.config.productVariables.OdmPath
|
||||
}
|
||||
return "odm"
|
||||
}
|
||||
|
||||
func (c *deviceConfig) ProductPath() string {
|
||||
if c.config.ProductVariables.ProductPath != nil {
|
||||
return *c.config.ProductVariables.ProductPath
|
||||
if c.config.productVariables.ProductPath != nil {
|
||||
return *c.config.productVariables.ProductPath
|
||||
}
|
||||
return "product"
|
||||
}
|
||||
|
||||
func (c *deviceConfig) BtConfigIncludeDir() string {
|
||||
return String(c.config.ProductVariables.BtConfigIncludeDir)
|
||||
return String(c.config.productVariables.BtConfigIncludeDir)
|
||||
}
|
||||
|
||||
func (c *deviceConfig) DeviceKernelHeaderDirs() []string {
|
||||
return c.config.ProductVariables.DeviceKernelHeaders
|
||||
return c.config.productVariables.DeviceKernelHeaders
|
||||
}
|
||||
|
||||
func (c *deviceConfig) NativeCoverageEnabled() bool {
|
||||
return Bool(c.config.ProductVariables.NativeCoverage)
|
||||
return Bool(c.config.productVariables.NativeCoverage)
|
||||
}
|
||||
|
||||
func (c *deviceConfig) CoverageEnabledForPath(path string) bool {
|
||||
coverage := false
|
||||
if c.config.ProductVariables.CoveragePaths != nil {
|
||||
if PrefixInList(path, *c.config.ProductVariables.CoveragePaths) {
|
||||
if c.config.productVariables.CoveragePaths != nil {
|
||||
if PrefixInList(path, *c.config.productVariables.CoveragePaths) {
|
||||
coverage = true
|
||||
}
|
||||
}
|
||||
if coverage && c.config.ProductVariables.CoverageExcludePaths != nil {
|
||||
if PrefixInList(path, *c.config.ProductVariables.CoverageExcludePaths) {
|
||||
if coverage && c.config.productVariables.CoverageExcludePaths != nil {
|
||||
if PrefixInList(path, *c.config.productVariables.CoverageExcludePaths) {
|
||||
coverage = false
|
||||
}
|
||||
}
|
||||
|
@ -764,28 +764,28 @@ func (c *deviceConfig) CoverageEnabledForPath(path string) bool {
|
|||
}
|
||||
|
||||
func (c *deviceConfig) PgoAdditionalProfileDirs() []string {
|
||||
return c.config.ProductVariables.PgoAdditionalProfileDirs
|
||||
return c.config.productVariables.PgoAdditionalProfileDirs
|
||||
}
|
||||
|
||||
func (c *config) IntegerOverflowDisabledForPath(path string) bool {
|
||||
if c.ProductVariables.IntegerOverflowExcludePaths == nil {
|
||||
if c.productVariables.IntegerOverflowExcludePaths == nil {
|
||||
return false
|
||||
}
|
||||
return PrefixInList(path, *c.ProductVariables.IntegerOverflowExcludePaths)
|
||||
return PrefixInList(path, *c.productVariables.IntegerOverflowExcludePaths)
|
||||
}
|
||||
|
||||
func (c *config) CFIDisabledForPath(path string) bool {
|
||||
if c.ProductVariables.CFIExcludePaths == nil {
|
||||
if c.productVariables.CFIExcludePaths == nil {
|
||||
return false
|
||||
}
|
||||
return PrefixInList(path, *c.ProductVariables.CFIExcludePaths)
|
||||
return PrefixInList(path, *c.productVariables.CFIExcludePaths)
|
||||
}
|
||||
|
||||
func (c *config) CFIEnabledForPath(path string) bool {
|
||||
if c.ProductVariables.CFIIncludePaths == nil {
|
||||
if c.productVariables.CFIIncludePaths == nil {
|
||||
return false
|
||||
}
|
||||
return PrefixInList(path, *c.ProductVariables.CFIIncludePaths)
|
||||
return PrefixInList(path, *c.productVariables.CFIIncludePaths)
|
||||
}
|
||||
|
||||
func stringSlice(s *[]string) []string {
|
||||
|
|
|
@ -111,7 +111,7 @@ func (s *makeVarsSingleton) GenerateBuildActions(ctx SingletonContext) {
|
|||
return
|
||||
}
|
||||
|
||||
outFile := PathForOutput(ctx, "make_vars"+proptools.String(ctx.Config().ProductVariables.Make_suffix)+".mk").String()
|
||||
outFile := PathForOutput(ctx, "make_vars"+proptools.String(ctx.Config().productVariables.Make_suffix)+".mk").String()
|
||||
|
||||
if ctx.Failed() {
|
||||
return
|
||||
|
|
|
@ -719,14 +719,14 @@ func PathForDist(ctx PathContext, pathComponents ...string) DistPath {
|
|||
func (p DistPath) writablePath() {}
|
||||
|
||||
func (p DistPath) Valid() bool {
|
||||
return p.config.ProductVariables.DistDir != nil && *p.config.ProductVariables.DistDir != ""
|
||||
return p.config.productVariables.DistDir != nil && *p.config.productVariables.DistDir != ""
|
||||
}
|
||||
|
||||
func (p DistPath) String() string {
|
||||
if !p.Valid() {
|
||||
panic("Requesting an invalid path")
|
||||
}
|
||||
return filepath.Join(*p.config.ProductVariables.DistDir, p.path)
|
||||
return filepath.Join(*p.config.productVariables.DistDir, p.path)
|
||||
}
|
||||
|
||||
func (p DistPath) RelPathString() string {
|
||||
|
|
|
@ -272,7 +272,7 @@ func variableMutator(mctx BottomUpMutatorContext) {
|
|||
property := "product_variables." + proptools.PropertyNameForField(name)
|
||||
|
||||
// Check that the variable was set for the product
|
||||
val := reflect.ValueOf(mctx.Config().ProductVariables).FieldByName(name)
|
||||
val := reflect.ValueOf(mctx.Config().productVariables).FieldByName(name)
|
||||
if !val.IsValid() || val.Kind() != reflect.Ptr || val.IsNil() {
|
||||
continue
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue