Merge "Diff source dump and current version dump for Cross-Version ABI Check"

This commit is contained in:
Mu-Le Lee 2022-08-03 03:52:38 +00:00 committed by Gerrit Code Review
commit 950f28abe2
2 changed files with 14 additions and 6 deletions

View file

@ -761,6 +761,10 @@ func (c *config) PlatformSdkVersion() ApiLevel {
return uncheckedFinalApiLevel(*c.productVariables.Platform_sdk_version)
}
func (c *config) PlatformSdkFinal() bool {
return Bool(c.productVariables.Platform_sdk_final)
}
func (c *config) PlatformSdkCodename() string {
return String(c.productVariables.Platform_sdk_codename)
}

View file

@ -1616,14 +1616,18 @@ func getRefAbiDumpFile(ctx ModuleContext, vndkVersion, fileName string) android.
func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objects, fileName string, soFile android.Path) {
if library.sabi.shouldCreateSourceAbiDump() {
var vndkVersion string
var version string
if ctx.useVndk() {
// For modules linking against vndk, follow its vndk version
vndkVersion = ctx.Module().(*Module).VndkVersion()
version = ctx.Module().(*Module).VndkVersion()
} else {
// Regard the other modules as PLATFORM_VNDK_VERSION
vndkVersion = ctx.DeviceConfig().PlatformVndkVersion()
// After sdk finalizatoin, the ABI of the latest API level must be consistent with the source code
// so the chosen reference dump is the PLATFORM_SDK_VERSION.
if ctx.Config().PlatformSdkFinal() {
version = ctx.Config().PlatformSdkVersion().String()
} else {
version = "current"
}
}
exportIncludeDirs := library.flagExporter.exportedIncludes(ctx)
@ -1642,7 +1646,7 @@ func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objec
addLsdumpPath(classifySourceAbiDump(ctx) + ":" + library.sAbiOutputFile.String())
refAbiDumpFile := getRefAbiDumpFile(ctx, vndkVersion, fileName)
refAbiDumpFile := getRefAbiDumpFile(ctx, version, fileName)
if refAbiDumpFile != nil {
library.sAbiDiff = sourceAbiDiff(ctx, library.sAbiOutputFile.Path(),
refAbiDumpFile, fileName, exportedHeaderFlags,