java_sdk_library: Copy removed API specification file to dist

Uses the dists property to copy the removed API specification file for
each API scope alongside the API specification file in the dist.

Bug: 158544979
Test: m nothing
      m dist sdk - before and after this change, compare result to
      make sure that there are no significant differences other than
      the after now contains -removed.txt files for each scope of each
      java_sdk_library
Change-Id: If23c594d29a12e49d2c5a8945ad488874bb1590c
This commit is contained in:
Paul Duffin
2020-11-23 17:41:36 +00:00
parent 281bc00bbf
commit 040e906fcf

View File

@@ -1281,11 +1281,7 @@ func (module *SdkLibrary) createStubsSourcesAndApi(mctx android.DefaultableHookC
Include_dirs []string
Local_include_dirs []string
}
Dist struct {
Targets []string
Dest *string
Dir *string
}
Dists []android.Dist
}{}
// The stubs source processing uses the same compile time classpath when extracting the
@@ -1385,11 +1381,23 @@ func (module *SdkLibrary) createStubsSourcesAndApi(mctx android.DefaultableHookC
}
}
// Dist the api txt artifact for sdk builds.
if !Bool(module.sdkLibraryProperties.No_dist) {
props.Dist.Targets = []string{"sdk", "win_sdk"}
props.Dist.Dest = proptools.StringPtr(fmt.Sprintf("%v.txt", module.distStem()))
props.Dist.Dir = proptools.StringPtr(path.Join(module.apiDistPath(apiScope), "api"))
// Dist the api txt and removed api txt artifacts for sdk builds.
distDir := proptools.StringPtr(path.Join(module.apiDistPath(apiScope), "api"))
for _, p := range []struct {
tag string
pattern string
}{
{tag: ".api.txt", pattern: "%s.txt"},
{tag: ".removed-api.txt", pattern: "%s-removed.txt"},
} {
props.Dists = append(props.Dists, android.Dist{
Targets: []string{"sdk", "win_sdk"},
Dir: distDir,
Dest: proptools.StringPtr(fmt.Sprintf(p.pattern, module.distStem())),
Tag: proptools.StringPtr(p.tag),
})
}
}
mctx.CreateModule(DroidstubsFactory, &props)