Merge "Check the contents of an SDK snapshot's generated Android.bp"
This commit is contained in:
@@ -44,6 +44,9 @@ type sdk struct {
|
|||||||
properties sdkProperties
|
properties sdkProperties
|
||||||
|
|
||||||
snapshotFile android.OptionalPath
|
snapshotFile android.OptionalPath
|
||||||
|
|
||||||
|
// The builder, preserved for testing.
|
||||||
|
builderForTests *snapshotBuilder
|
||||||
}
|
}
|
||||||
|
|
||||||
type sdkProperties struct {
|
type sdkProperties struct {
|
||||||
|
@@ -491,9 +491,98 @@ func TestSnapshot(t *testing.T) {
|
|||||||
}
|
}
|
||||||
`)
|
`)
|
||||||
|
|
||||||
|
sdk := ctx.ModuleForTests("mysdk", "android_common").Module().(*sdk)
|
||||||
|
|
||||||
|
checkSnapshotAndroidBpContents(t, sdk, `// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
|
java_import {
|
||||||
|
name: "mysdk_myjavalib@current",
|
||||||
|
sdk_member_name: "myjavalib",
|
||||||
|
jars: ["java/myjavalib.jar"],
|
||||||
|
}
|
||||||
|
|
||||||
|
java_import {
|
||||||
|
name: "myjavalib",
|
||||||
|
prefer: false,
|
||||||
|
jars: ["java/myjavalib.jar"],
|
||||||
|
}
|
||||||
|
|
||||||
|
prebuilt_stubs_sources {
|
||||||
|
name: "mysdk_myjavaapistubs@current",
|
||||||
|
sdk_member_name: "myjavaapistubs",
|
||||||
|
srcs: ["java/myjavaapistubs_stubs_sources"],
|
||||||
|
}
|
||||||
|
|
||||||
|
prebuilt_stubs_sources {
|
||||||
|
name: "myjavaapistubs",
|
||||||
|
srcs: ["java/myjavaapistubs_stubs_sources"],
|
||||||
|
prefer: false,
|
||||||
|
}
|
||||||
|
|
||||||
|
cc_prebuilt_library_shared {
|
||||||
|
name: "mysdk_mynativelib@current",
|
||||||
|
sdk_member_name: "mynativelib",
|
||||||
|
arch: {
|
||||||
|
arm64: {
|
||||||
|
srcs: ["arm64/lib/mynativelib.so"],
|
||||||
|
export_include_dirs: [
|
||||||
|
"arm64/include/include",
|
||||||
|
"arm64/include_gen/mynativelib",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
arm: {
|
||||||
|
srcs: ["arm/lib/mynativelib.so"],
|
||||||
|
export_include_dirs: [
|
||||||
|
"arm/include/include",
|
||||||
|
"arm/include_gen/mynativelib",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
stl: "none",
|
||||||
|
system_shared_libs: [],
|
||||||
|
}
|
||||||
|
|
||||||
|
cc_prebuilt_library_shared {
|
||||||
|
name: "mynativelib",
|
||||||
|
prefer: false,
|
||||||
|
arch: {
|
||||||
|
arm64: {
|
||||||
|
srcs: ["arm64/lib/mynativelib.so"],
|
||||||
|
export_include_dirs: [
|
||||||
|
"arm64/include/include",
|
||||||
|
"arm64/include_gen/mynativelib",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
arm: {
|
||||||
|
srcs: ["arm/lib/mynativelib.so"],
|
||||||
|
export_include_dirs: [
|
||||||
|
"arm/include/include",
|
||||||
|
"arm/include_gen/mynativelib",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
stl: "none",
|
||||||
|
system_shared_libs: [],
|
||||||
|
}
|
||||||
|
|
||||||
|
sdk_snapshot {
|
||||||
|
name: "mysdk@current",
|
||||||
|
java_libs: [
|
||||||
|
"mysdk_myjavalib@current",
|
||||||
|
],
|
||||||
|
stubs_sources: [
|
||||||
|
"mysdk_myjavaapistubs@current",
|
||||||
|
],
|
||||||
|
native_shared_libs: [
|
||||||
|
"mysdk_mynativelib@current",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
`)
|
||||||
|
|
||||||
var copySrcs []string
|
var copySrcs []string
|
||||||
var copyDests []string
|
var copyDests []string
|
||||||
buildParams := ctx.ModuleForTests("mysdk", "android_common").Module().BuildParamsForTests()
|
buildParams := sdk.BuildParamsForTests()
|
||||||
var zipBp android.BuildParams
|
var zipBp android.BuildParams
|
||||||
for _, bp := range buildParams {
|
for _, bp := range buildParams {
|
||||||
ruleString := bp.Rule.String()
|
ruleString := bp.Rule.String()
|
||||||
@@ -536,6 +625,14 @@ func TestSnapshot(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func checkSnapshotAndroidBpContents(t *testing.T, s *sdk, expectedContents string) {
|
||||||
|
t.Helper()
|
||||||
|
androidBpContents := strings.NewReplacer("\\n", "\n").Replace(s.GetAndroidBpContentsForTests())
|
||||||
|
if androidBpContents != expectedContents {
|
||||||
|
t.Errorf("Android.bp contents do not match, expected %s, actual %s", expectedContents, androidBpContents)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var buildDir string
|
var buildDir string
|
||||||
|
|
||||||
func setUp() {
|
func setUp() {
|
||||||
|
@@ -249,6 +249,7 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext) android.OutputPath {
|
|||||||
filesToZip: []android.Path{bp.path},
|
filesToZip: []android.Path{bp.path},
|
||||||
androidBpFile: bp,
|
androidBpFile: bp,
|
||||||
}
|
}
|
||||||
|
s.builderForTests = builder
|
||||||
|
|
||||||
// copy exported AIDL files and stub jar files
|
// copy exported AIDL files and stub jar files
|
||||||
javaLibs := s.javaLibs(ctx)
|
javaLibs := s.javaLibs(ctx)
|
||||||
@@ -350,6 +351,10 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext) android.OutputPath {
|
|||||||
return outputZipFile
|
return outputZipFile
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *sdk) GetAndroidBpContentsForTests() string {
|
||||||
|
return s.builderForTests.androidBpFile.content.String()
|
||||||
|
}
|
||||||
|
|
||||||
func buildSharedNativeLibSnapshot(ctx android.ModuleContext, info *nativeLibInfo, builder android.SnapshotBuilder) {
|
func buildSharedNativeLibSnapshot(ctx android.ModuleContext, info *nativeLibInfo, builder android.SnapshotBuilder) {
|
||||||
// a function for emitting include dirs
|
// a function for emitting include dirs
|
||||||
printExportedDirCopyCommandsForNativeLibs := func(lib archSpecificNativeLibInfo) {
|
printExportedDirCopyCommandsForNativeLibs := func(lib archSpecificNativeLibInfo) {
|
||||||
|
Reference in New Issue
Block a user