Adapt to PLATFORM_VERSION_FUTURE_CODENAMES.

Don't preserve the confusing names from make. Rename AllCodenames to
ActiveCodenames, add FutureCodenames, and add CombinedCodenames to
fetch the *real* AllCodenames.

To allow `introduced=P` in NDK library definitions, we need to know
that P exists. Use the combined list of current and future API
codenames generating stubs.

Test: make ndk
Test: check out/soong/api_levels.json
Bug: None
Change-Id: I435f9ce7446236edc268a84e33474044a55a6302
This commit is contained in:
Dan Albert
2017-07-28 12:39:46 -07:00
parent bbe3ff4c50
commit 31384debd7
4 changed files with 24 additions and 6 deletions

View File

@@ -68,7 +68,7 @@ func (a *apiLevelsSingleton) GenerateBuildActions(ctx blueprint.SingletonContext
"N": 24,
"N-MR1": 25,
}
for i, codename := range ctx.Config().(Config).PlatformVersionAllCodenames() {
for i, codename := range ctx.Config().(Config).PlatformVersionCombinedCodenames() {
apiLevelsMap[codename] = baseApiLevel + i
}

View File

@@ -378,8 +378,25 @@ func (c *config) PlatformSdkVersion() string {
return strconv.Itoa(c.PlatformSdkVersionInt())
}
func (c *config) PlatformVersionAllCodenames() []string {
return c.ProductVariables.Platform_version_all_codenames
// Codenames that are active in the current lunch target.
func (c *config) PlatformVersionActiveCodenames() []string {
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
}
// All possible codenames in the current branch. NB: Not named AllCodenames
// because "all" has historically meant "active" in make, and still does in
// build.prop.
func (c *config) PlatformVersionCombinedCodenames() []string {
combined := []string{}
combined = append(combined, c.PlatformVersionActiveCodenames()...)
combined = append(combined, c.PlatformVersionFutureCodenames()...)
return combined
}
func (c *config) BuildNumber() string {

View File

@@ -102,8 +102,9 @@ type productVariables struct {
// Suffix to add to generated Makefiles
Make_suffix *string `json:",omitempty"`
Platform_sdk_version *int `json:",omitempty"`
Platform_version_all_codenames []string `json:",omitempty"`
Platform_sdk_version *int `json:",omitempty"`
Platform_version_active_codenames []string `json:",omitempty"`
Platform_version_future_codenames []string `json:",omitempty"`
DeviceName *string `json:",omitempty"`
DeviceArch *string `json:",omitempty"`

View File

@@ -205,7 +205,7 @@ func generateStubApiVariants(mctx android.BottomUpMutatorContext, c *stubDecorat
for version := firstGenVersion; version <= platformVersion; version++ {
versionStrs = append(versionStrs, strconv.Itoa(version))
}
versionStrs = append(versionStrs, mctx.AConfig().PlatformVersionAllCodenames()...)
versionStrs = append(versionStrs, mctx.AConfig().PlatformVersionActiveCodenames()...)
versionStrs = append(versionStrs, "current")
modules := mctx.CreateVariations(versionStrs...)