Stop tracking the ABI of "current".
Bug: None Test: deleted "current" ABI dumps, ran updater, they didn't come back Change-Id: I50463c3016864fccc7713c141e6465c8ed0d7184
This commit is contained in:
@@ -46,7 +46,7 @@ func (n *ndkAbiDumpSingleton) GenerateBuildActions(ctx android.SingletonContext)
|
|||||||
|
|
||||||
if m, ok := module.(*Module); ok {
|
if m, ok := module.(*Module); ok {
|
||||||
if installer, ok := m.installer.(*stubDecorator); ok {
|
if installer, ok := m.installer.(*stubDecorator); ok {
|
||||||
if canDumpAbi(ctx.Config(), ctx.ModuleDir(module)) {
|
if installer.hasAbiDump {
|
||||||
depPaths = append(depPaths, installer.abiDumpPath)
|
depPaths = append(depPaths, installer.abiDumpPath)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,6 +125,7 @@ type stubDecorator struct {
|
|||||||
parsedCoverageXmlPath android.ModuleOutPath
|
parsedCoverageXmlPath android.ModuleOutPath
|
||||||
installPath android.Path
|
installPath android.Path
|
||||||
abiDumpPath android.OutputPath
|
abiDumpPath android.OutputPath
|
||||||
|
hasAbiDump bool
|
||||||
abiDiffPaths android.Paths
|
abiDiffPaths android.Paths
|
||||||
|
|
||||||
apiLevel android.ApiLevel
|
apiLevel android.ApiLevel
|
||||||
@@ -330,11 +331,11 @@ func (this *stubDecorator) findPrebuiltAbiDump(ctx ModuleContext,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Feature flag.
|
// Feature flag.
|
||||||
func canDumpAbi(config android.Config, moduleDir string) bool {
|
func (this *stubDecorator) canDumpAbi(ctx ModuleContext) bool {
|
||||||
if runtime.GOOS == "darwin" {
|
if runtime.GOOS == "darwin" {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if strings.HasPrefix(moduleDir, "bionic/") {
|
if strings.HasPrefix(ctx.ModuleDir(), "bionic/") {
|
||||||
// Bionic has enough uncommon implementation details like ifuncs and asm
|
// Bionic has enough uncommon implementation details like ifuncs and asm
|
||||||
// code that the ABI tracking here has a ton of false positives. That's
|
// code that the ABI tracking here has a ton of false positives. That's
|
||||||
// causing pretty extreme friction for development there, so disabling
|
// causing pretty extreme friction for development there, so disabling
|
||||||
@@ -343,8 +344,14 @@ func canDumpAbi(config android.Config, moduleDir string) bool {
|
|||||||
// http://b/358653811
|
// http://b/358653811
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if this.apiLevel.IsCurrent() {
|
||||||
|
// "current" (AKA 10000) is not tracked.
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
// http://b/156513478
|
// http://b/156513478
|
||||||
return config.ReleaseNdkAbiMonitored()
|
return ctx.Config().ReleaseNdkAbiMonitored()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Feature flag to disable diffing against prebuilts.
|
// Feature flag to disable diffing against prebuilts.
|
||||||
@@ -357,6 +364,7 @@ func (this *stubDecorator) dumpAbi(ctx ModuleContext, symbolList android.Path) {
|
|||||||
this.abiDumpPath = getNdkAbiDumpInstallBase(ctx).Join(ctx,
|
this.abiDumpPath = getNdkAbiDumpInstallBase(ctx).Join(ctx,
|
||||||
this.apiLevel.String(), ctx.Arch().ArchType.String(),
|
this.apiLevel.String(), ctx.Arch().ArchType.String(),
|
||||||
this.libraryName(ctx), "abi.stg")
|
this.libraryName(ctx), "abi.stg")
|
||||||
|
this.hasAbiDump = true
|
||||||
headersList := getNdkABIHeadersFile(ctx)
|
headersList := getNdkABIHeadersFile(ctx)
|
||||||
ctx.Build(pctx, android.BuildParams{
|
ctx.Build(pctx, android.BuildParams{
|
||||||
Rule: stg,
|
Rule: stg,
|
||||||
@@ -478,7 +486,7 @@ func (c *stubDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) O
|
|||||||
nativeAbiResult := parseNativeAbiDefinition(ctx, symbolFile, c.apiLevel, "")
|
nativeAbiResult := parseNativeAbiDefinition(ctx, symbolFile, c.apiLevel, "")
|
||||||
objs := compileStubLibrary(ctx, flags, nativeAbiResult.stubSrc)
|
objs := compileStubLibrary(ctx, flags, nativeAbiResult.stubSrc)
|
||||||
c.versionScriptPath = nativeAbiResult.versionScript
|
c.versionScriptPath = nativeAbiResult.versionScript
|
||||||
if canDumpAbi(ctx.Config(), ctx.ModuleDir()) {
|
if c.canDumpAbi(ctx) {
|
||||||
c.dumpAbi(ctx, nativeAbiResult.symbolList)
|
c.dumpAbi(ctx, nativeAbiResult.symbolList)
|
||||||
if canDiffAbi(ctx.Config()) {
|
if canDiffAbi(ctx.Config()) {
|
||||||
c.diffAbi(ctx)
|
c.diffAbi(ctx)
|
||||||
|
Reference in New Issue
Block a user