Prework for migrating min_sdk_version from (kind+level) to (level)

Currently, the following lib will be included in the sdk snapshot even
though it is compiling against private apis
```
java_sdk_library {
  name: "foo",
  //sdk_version defaults to "",  i.e. SdkSpecPrivate
}
```

This is because min_sdk_version of `foo` inherits the api level of
SdkSpecPrivate (i.e. FutureApiLevel).

As part of the migration of min_sdk_version to ApiLevel, the api level
of SdkSpecPrivate will be different than FutureApiLevel. In the above
example, assuming the version of the sdk_snapshot is FutureApiLevel,
`foo` will be included only if it explicitly sets a min_sdk_version <=
FutureApiLevel. Update an existing unit test to set this value
explicitly.

Bug: 208456999
Test: go test ./sdk (top of CL stack)

Change-Id: Iddd497df7da8c829325d902fbf70731dd8c6855d
This commit is contained in:
Spandan Das
2023-03-02 04:41:35 +00:00
parent 5780039180
commit ea4c692875
2 changed files with 2 additions and 1 deletions

View File

@@ -319,7 +319,7 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) {
targetBuildRelease := s.targetBuildRelease(ctx)
targetApiLevel, err := android.ApiLevelFromUser(ctx, targetBuildRelease.name)
if err != nil {
targetApiLevel = android.FutureApiLevel
targetApiLevel = android.InvalidApiLevel
}
// Aggregate all the sdkMemberVariantDep instances from all the sdk variants.