Loading android/sdk_version.go +23 −1 Original line number Diff line number Diff line Loading @@ -211,7 +211,29 @@ func (s SdkSpec) EffectiveVersionString(ctx EarlyModuleContext) (string, error) if !s.ApiLevel.IsPreview() { return s.ApiLevel.String(), nil } return ctx.Config().DefaultAppTargetSdk(ctx).String(), nil // Determine the default sdk ret := ctx.Config().DefaultAppTargetSdk(ctx) if !ret.IsPreview() { // If the default sdk has been finalized, return that return ret.String(), nil } // There can be more than one active in-development sdks // If an app is targeting an active sdk, but not the default one, return the requested active sdk. // e.g. // SETUP // In-development: UpsideDownCake, VanillaIceCream // Default: VanillaIceCream // Android.bp // min_sdk_version: `UpsideDownCake` // RETURN // UpsideDownCake and not VanillaIceCream for _, preview := range ctx.Config().PreviewApiLevels() { if s.ApiLevel.String() == preview.String() { return preview.String(), nil } } // Otherwise return the default one return ret.String(), nil } var ( Loading java/app_test.go +15 −1 Original line number Diff line number Diff line Loading @@ -1005,6 +1005,7 @@ func TestAppSdkVersion(t *testing.T) { platformSdkInt int platformSdkCodename string platformSdkFinal bool minSdkVersionBp string expectedMinSdkVersion string platformApis bool activeCodenames []string Loading Loading @@ -1052,6 +1053,14 @@ func TestAppSdkVersion(t *testing.T) { platformSdkCodename: "S", activeCodenames: []string{"S"}, }, { name: "two active SDKs", sdkVersion: "module_current", minSdkVersionBp: "UpsideDownCake", expectedMinSdkVersion: "UpsideDownCake", // And not VanillaIceCream platformSdkCodename: "VanillaIceCream", activeCodenames: []string{"UpsideDownCake", "VanillaIceCream"}, }, } for _, moduleType := range []string{"android_app", "android_library"} { Loading @@ -1061,12 +1070,17 @@ func TestAppSdkVersion(t *testing.T) { if test.platformApis { platformApiProp = "platform_apis: true," } minSdkVersionProp := "" if test.minSdkVersionBp != "" { minSdkVersionProp = fmt.Sprintf(` min_sdk_version: "%s",`, test.minSdkVersionBp) } bp := fmt.Sprintf(`%s { name: "foo", srcs: ["a.java"], sdk_version: "%s", %s }`, moduleType, test.sdkVersion, platformApiProp) %s }`, moduleType, test.sdkVersion, platformApiProp, minSdkVersionProp) result := android.GroupFixturePreparers( prepareForJavaTest, Loading Loading
android/sdk_version.go +23 −1 Original line number Diff line number Diff line Loading @@ -211,7 +211,29 @@ func (s SdkSpec) EffectiveVersionString(ctx EarlyModuleContext) (string, error) if !s.ApiLevel.IsPreview() { return s.ApiLevel.String(), nil } return ctx.Config().DefaultAppTargetSdk(ctx).String(), nil // Determine the default sdk ret := ctx.Config().DefaultAppTargetSdk(ctx) if !ret.IsPreview() { // If the default sdk has been finalized, return that return ret.String(), nil } // There can be more than one active in-development sdks // If an app is targeting an active sdk, but not the default one, return the requested active sdk. // e.g. // SETUP // In-development: UpsideDownCake, VanillaIceCream // Default: VanillaIceCream // Android.bp // min_sdk_version: `UpsideDownCake` // RETURN // UpsideDownCake and not VanillaIceCream for _, preview := range ctx.Config().PreviewApiLevels() { if s.ApiLevel.String() == preview.String() { return preview.String(), nil } } // Otherwise return the default one return ret.String(), nil } var ( Loading
java/app_test.go +15 −1 Original line number Diff line number Diff line Loading @@ -1005,6 +1005,7 @@ func TestAppSdkVersion(t *testing.T) { platformSdkInt int platformSdkCodename string platformSdkFinal bool minSdkVersionBp string expectedMinSdkVersion string platformApis bool activeCodenames []string Loading Loading @@ -1052,6 +1053,14 @@ func TestAppSdkVersion(t *testing.T) { platformSdkCodename: "S", activeCodenames: []string{"S"}, }, { name: "two active SDKs", sdkVersion: "module_current", minSdkVersionBp: "UpsideDownCake", expectedMinSdkVersion: "UpsideDownCake", // And not VanillaIceCream platformSdkCodename: "VanillaIceCream", activeCodenames: []string{"UpsideDownCake", "VanillaIceCream"}, }, } for _, moduleType := range []string{"android_app", "android_library"} { Loading @@ -1061,12 +1070,17 @@ func TestAppSdkVersion(t *testing.T) { if test.platformApis { platformApiProp = "platform_apis: true," } minSdkVersionProp := "" if test.minSdkVersionBp != "" { minSdkVersionProp = fmt.Sprintf(` min_sdk_version: "%s",`, test.minSdkVersionBp) } bp := fmt.Sprintf(`%s { name: "foo", srcs: ["a.java"], sdk_version: "%s", %s }`, moduleType, test.sdkVersion, platformApiProp) %s }`, moduleType, test.sdkVersion, platformApiProp, minSdkVersionProp) result := android.GroupFixturePreparers( prepareForJavaTest, Loading