From 040e906fcf349995bd5298d4e6ac3588b94046a4 Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Mon, 23 Nov 2020 17:41:36 +0000 Subject: [PATCH] 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 --- java/sdk_library.go | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/java/sdk_library.go b/java/sdk_library.go index b83267865..32bc07787 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -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)