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:
@@ -142,6 +142,7 @@ func getSdkSnapshotBuildInfo(t *testing.T, result *android.TestResult, sdk *sdk)
|
||||
androidBpContents: sdk.GetAndroidBpContentsForTests(),
|
||||
androidUnversionedBpContents: sdk.GetUnversionedAndroidBpContentsForTests(),
|
||||
androidVersionedBpContents: sdk.GetVersionedAndroidBpContentsForTests(),
|
||||
infoContents: sdk.GetInfoContentsForTests(),
|
||||
snapshotTestCustomizations: map[snapshotTest]*snapshotTestCustomization{},
|
||||
targetBuildRelease: sdk.builderForTests.targetBuildRelease,
|
||||
}
|
||||
@@ -402,6 +403,17 @@ func checkMergeZips(expected ...string) snapshotBuildInfoChecker {
|
||||
}
|
||||
}
|
||||
|
||||
// Check that the snapshot's info contents are ciorrect.
|
||||
//
|
||||
// Both the expected and actual string are both trimmed before comparing.
|
||||
func checkInfoContents(expected string) snapshotBuildInfoChecker {
|
||||
return func(info *snapshotBuildInfo) {
|
||||
info.t.Helper()
|
||||
android.AssertTrimmedStringEquals(info.t, "info contents do not match",
|
||||
expected, info.infoContents)
|
||||
}
|
||||
}
|
||||
|
||||
type resultChecker func(t *testing.T, result *android.TestResult)
|
||||
|
||||
// snapshotTestPreparer registers a preparer that will be used to customize the specified
|
||||
@@ -479,6 +491,9 @@ type snapshotBuildInfo struct {
|
||||
// The contents of the versioned Android.bp file
|
||||
androidVersionedBpContents string
|
||||
|
||||
// The contents of the info file.
|
||||
infoContents string
|
||||
|
||||
// The paths, relative to the snapshot root, of all files and directories copied into the
|
||||
// snapshot.
|
||||
snapshotContents []string
|
||||
|
Reference in New Issue
Block a user