For each sdk built generate a JSON file describing its contents

Some build scripts need to know information about the contents of an
sdk, such as what APIs it provides (via java_sdk_library). Rather than
duplicate that information in the scripts or attempt to access that
information (where available) by looking at the contents of the
snapshot this change generates a JSON file that sits alongside the
snapshot itself.

The info file can be generated without generating the snapshot zip file
but whenever a snapshot zip file is generated the info is generated
too. The info file sits alongside the zip file in out/mainline-sdks.

Bug: 204763318
Test: m art-module-sdk
      m dist
Change-Id: I289530bb21693dc6443826c24c17c9b5d85d2d8b
This commit is contained in:
Paul Duffin
2022-05-06 09:38:02 +00:00
parent beccdcdff2
commit c6ba182f3c
5 changed files with 212 additions and 13 deletions

View File

@@ -263,7 +263,10 @@ func TestSdkInstall(t *testing.T) {
result := testSdkWithFs(t, sdk, nil)
CheckSnapshot(t, result, "mysdk", "",
checkAllOtherCopyRules(`.intermediates/mysdk/common_os/mysdk-current.zip -> mysdk-current.zip`))
checkAllOtherCopyRules(`
.intermediates/mysdk/common_os/mysdk-current.info -> mysdk-current.info
.intermediates/mysdk/common_os/mysdk-current.zip -> mysdk-current.zip
`))
}
type EmbeddedPropertiesStruct struct {