Merge "Populate baseline_file values." am: 48b8df14be am: 4bc4800ce7

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1624707

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I00cc4e320a9013689b7ef5e0f253379df8935d1b
This commit is contained in:
Jaewoong Jung
2021-03-11 15:41:14 +00:00
committed by Automerger Merge Worker
2 changed files with 16 additions and 6 deletions

View File

@@ -248,9 +248,9 @@ func prebuiltApiFiles(mctx android.LoadHookContext, p *prebuiltApis) {
} }
// Create incompatibilities tracking files for all modules, if we have a "next" api. // Create incompatibilities tracking files for all modules, if we have a "next" api.
incompatibilities := make(map[string]bool)
if nextApiDir := String(p.properties.Next_api_dir); nextApiDir != "" { if nextApiDir := String(p.properties.Next_api_dir); nextApiDir != "" {
files := getPrebuiltFilesInSubdir(mctx, nextApiDir, "api/*incompatibilities.txt") files := getPrebuiltFilesInSubdir(mctx, nextApiDir, "api/*incompatibilities.txt")
incompatibilities := make(map[string]bool)
for _, f := range files { for _, f := range files {
localPath := strings.TrimPrefix(f, mydir) localPath := strings.TrimPrefix(f, mydir)
module, _, scope := parseApiFilePath(mctx, localPath) module, _, scope := parseApiFilePath(mctx, localPath)
@@ -266,11 +266,11 @@ func prebuiltApiFiles(mctx android.LoadHookContext, p *prebuiltApis) {
incompatibilities[referencedModule+"."+scope] = true incompatibilities[referencedModule+"."+scope] = true
} }
// Create empty incompatibilities files for remaining modules }
for _, k := range android.SortedStringKeys(m) { // Create empty incompatibilities files for remaining modules
if _, ok := incompatibilities[k]; !ok { for _, k := range android.SortedStringKeys(m) {
createEmptyFile(mctx, apiModuleName(m[k].module+"-incompatibilities", m[k].scope, "latest")) if _, ok := incompatibilities[k]; !ok {
} createEmptyFile(mctx, apiModuleName(m[k].module+"-incompatibilities", m[k].scope, "latest"))
} }
} }
} }

View File

@@ -452,6 +452,7 @@ type sdkLibraryProperties struct {
// that references the latest released API and remove API specification files. // that references the latest released API and remove API specification files.
// * API specification filegroup -> <dist-stem>.api.<scope>.latest // * API specification filegroup -> <dist-stem>.api.<scope>.latest
// * Removed API specification filegroup -> <dist-stem>-removed.api.<scope>.latest // * Removed API specification filegroup -> <dist-stem>-removed.api.<scope>.latest
// * API incompatibilities baseline filegroup -> <dist-stem>-incompatibilities.api.<scope>.latest
Dist_stem *string Dist_stem *string
// A compatibility mode that allows historical API-tracking files to not exist. // A compatibility mode that allows historical API-tracking files to not exist.
@@ -1059,6 +1060,9 @@ func (module *SdkLibrary) DepsMutator(ctx android.BottomUpMutatorContext) {
if m := android.SrcIsModule(module.latestRemovedApiFilegroupName(apiScope)); !ctx.OtherModuleExists(m) { if m := android.SrcIsModule(module.latestRemovedApiFilegroupName(apiScope)); !ctx.OtherModuleExists(m) {
missingApiModules = append(missingApiModules, m) missingApiModules = append(missingApiModules, m)
} }
if m := android.SrcIsModule(module.latestIncompatibilitiesFilegroupName(apiScope)); !ctx.OtherModuleExists(m) {
missingApiModules = append(missingApiModules, m)
}
} }
if len(missingApiModules) != 0 && !module.sdkLibraryProperties.Unsafe_ignore_missing_latest_api { if len(missingApiModules) != 0 && !module.sdkLibraryProperties.Unsafe_ignore_missing_latest_api {
m := module.Name() + " is missing tracking files for previously released library versions.\n" m := module.Name() + " is missing tracking files for previously released library versions.\n"
@@ -1165,6 +1169,10 @@ func (module *SdkLibrary) latestRemovedApiFilegroupName(apiScope *apiScope) stri
return ":" + module.distStem() + "-removed.api." + apiScope.name + ".latest" return ":" + module.distStem() + "-removed.api." + apiScope.name + ".latest"
} }
func (module *SdkLibrary) latestIncompatibilitiesFilegroupName(apiScope *apiScope) string {
return ":" + module.distStem() + "-incompatibilities.api." + apiScope.name + ".latest"
}
func childModuleVisibility(childVisibility []string) []string { func childModuleVisibility(childVisibility []string) []string {
if childVisibility == nil { if childVisibility == nil {
// No child visibility set. The child will use the visibility of the sdk_library. // No child visibility set. The child will use the visibility of the sdk_library.
@@ -1389,6 +1397,8 @@ func (module *SdkLibrary) createStubsSourcesAndApi(mctx android.DefaultableHookC
props.Check_api.Last_released.Api_file = latestApiFilegroupName props.Check_api.Last_released.Api_file = latestApiFilegroupName
props.Check_api.Last_released.Removed_api_file = proptools.StringPtr( props.Check_api.Last_released.Removed_api_file = proptools.StringPtr(
module.latestRemovedApiFilegroupName(apiScope)) module.latestRemovedApiFilegroupName(apiScope))
props.Check_api.Last_released.Baseline_file = proptools.StringPtr(
module.latestIncompatibilitiesFilegroupName(apiScope))
if proptools.Bool(module.sdkLibraryProperties.Api_lint.Enabled) { if proptools.Bool(module.sdkLibraryProperties.Api_lint.Enabled) {
// Enable api lint. // Enable api lint.