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:
@@ -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"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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.
|
||||||
|
Reference in New Issue
Block a user