diff options
Diffstat (limited to 'android/config.go')
-rw-r--r-- | android/config.go | 63 |
1 files changed, 54 insertions, 9 deletions
diff --git a/android/config.go b/android/config.go index 4c31bb052..a69adc354 100644 --- a/android/config.go +++ b/android/config.go @@ -99,7 +99,7 @@ type CmdArgs struct { UseBazelProxy bool - BuildFromTextStub bool + BuildFromSourceStub bool EnsureAllowlistIntegrity bool } @@ -344,9 +344,9 @@ type config struct { // unix sockets, instead of spawning Bazel as a subprocess. UseBazelProxy bool - // If buildFromTextStub is true then the Java API stubs are - // built from the signature text files, not the source Java files. - buildFromTextStub bool + // If buildFromSourceStub is true then the Java API stubs are + // built from the source Java files, not the signature text files. + buildFromSourceStub bool // If ensureAllowlistIntegrity is true, then the presence of any allowlisted // modules that aren't mixed-built for at least one variant will cause a build @@ -563,15 +563,13 @@ func NewConfig(cmdArgs CmdArgs, availableEnv map[string]string) (Config, error) MultitreeBuild: cmdArgs.MultitreeBuild, UseBazelProxy: cmdArgs.UseBazelProxy, - buildFromTextStub: cmdArgs.BuildFromTextStub, + buildFromSourceStub: cmdArgs.BuildFromSourceStub, } config.deviceConfig = &deviceConfig{ config: config, } - config.productVariables.Build_from_text_stub = boolPtr(config.BuildFromTextStub()) - // Soundness check of the build and source directories. This won't catch strange // configurations with symlinks, but at least checks the obvious case. absBuildDir, err := filepath.Abs(cmdArgs.SoongOutDir) @@ -694,6 +692,7 @@ func NewConfig(cmdArgs CmdArgs, availableEnv map[string]string) (Config, error) "framework-media": {}, "framework-mediaprovider": {}, "framework-ondevicepersonalization": {}, + "framework-pdf": {}, "framework-permission": {}, "framework-permission-s": {}, "framework-scheduling": {}, @@ -707,6 +706,8 @@ func NewConfig(cmdArgs CmdArgs, availableEnv map[string]string) (Config, error) "i18n.module.public.api": {}, } + config.productVariables.Build_from_text_stub = boolPtr(config.BuildFromTextStub()) + return Config{config}, err } @@ -2075,15 +2076,21 @@ func (c *config) JavaCoverageEnabled() bool { return c.IsEnvTrue("EMMA_INSTRUMENT") || c.IsEnvTrue("EMMA_INSTRUMENT_STATIC") || c.IsEnvTrue("EMMA_INSTRUMENT_FRAMEWORK") } +func (c *deviceConfig) BuildFromSourceStub() bool { + return Bool(c.config.productVariables.BuildFromSourceStub) +} + func (c *config) BuildFromTextStub() bool { // TODO: b/302320354 - Remove the coverage build specific logic once the // robust solution for handling native properties in from-text stub build // is implemented. - return c.buildFromTextStub && !c.JavaCoverageEnabled() + return !c.buildFromSourceStub && + !c.JavaCoverageEnabled() && + !c.deviceConfig.BuildFromSourceStub() } func (c *config) SetBuildFromTextStub(b bool) { - c.buildFromTextStub = b + c.buildFromSourceStub = !b c.productVariables.Build_from_text_stub = boolPtr(b) } @@ -2129,3 +2136,41 @@ func (c *config) GetBuildFlag(name string) (string, bool) { val, ok := c.productVariables.BuildFlags[name] return val, ok } + +var ( + mainlineApexContributionBuildFlags = []string{ + "RELEASE_APEX_CONTRIBUTIONS_ADSERVICES", + "RELEASE_APEX_CONTRIBUTIONS_APPSEARCH", + "RELEASE_APEX_CONTRIBUTIONS_ART", + "RELEASE_APEX_CONTRIBUTIONS_BLUETOOTH", + "RELEASE_APEX_CONTRIBUTIONS_CONFIGINFRASTRUCTURE", + "RELEASE_APEX_CONTRIBUTIONS_CONNECTIVITY", + "RELEASE_APEX_CONTRIBUTIONS_CONSCRYPT", + "RELEASE_APEX_CONTRIBUTIONS_CRASHRECOVERY", + "RELEASE_APEX_CONTRIBUTIONS_DEVICELOCK", + "RELEASE_APEX_CONTRIBUTIONS_HEALTHFITNESS", + "RELEASE_APEX_CONTRIBUTIONS_IPSEC", + "RELEASE_APEX_CONTRIBUTIONS_MEDIA", + "RELEASE_APEX_CONTRIBUTIONS_MEDIAPROVIDER", + "RELEASE_APEX_CONTRIBUTIONS_ONDEVICEPERSONALIZATION", + "RELEASE_APEX_CONTRIBUTIONS_PERMISSION", + "RELEASE_APEX_CONTRIBUTIONS_REMOTEKEYPROVISIONING", + "RELEASE_APEX_CONTRIBUTIONS_SCHEDULING", + "RELEASE_APEX_CONTRIBUTIONS_SDKEXTENSIONS", + "RELEASE_APEX_CONTRIBUTIONS_STATSD", + "RELEASE_APEX_CONTRIBUTIONS_UWB", + "RELEASE_APEX_CONTRIBUTIONS_WIFI", + } +) + +// Returns the list of _selected_ apex_contributions +// Each mainline module will have one entry in the list +func (c *config) AllApexContributions() []string { + ret := []string{} + for _, f := range mainlineApexContributionBuildFlags { + if val, exists := c.GetBuildFlag(f); exists && val != "" { + ret = append(ret, val) + } + } + return ret +} |