Remove support for generating versioned snapshots
Previously, the code for selecting specific versions of sdk snapshots was removed (along with the uses_sdks property). That makes versioned snapshots useless so this change removes all the code and tests that generated those versioned snapshots. Bug: 232546567 Test: m nothing packages/modules/common/build/mainline_modules_sdks.sh Change-Id: Ib6d1b72bc8399fbb39075494ae37da92f4b28d03
This commit is contained in:
parent
78ce8c23de
commit
b01ac4b6ba
14 changed files with 119 additions and 2242 deletions
|
@ -124,7 +124,7 @@ func TestSnapshotWithBootclasspathFragment_ImageName(t *testing.T) {
|
||||||
preparerForSnapshot := fixtureAddPrebuiltApexForBootclasspathFragment("com.android.art", "mybootclasspathfragment")
|
preparerForSnapshot := fixtureAddPrebuiltApexForBootclasspathFragment("com.android.art", "mybootclasspathfragment")
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
prebuilt_bootclasspath_fragment {
|
prebuilt_bootclasspath_fragment {
|
||||||
|
@ -151,41 +151,6 @@ java_import {
|
||||||
apex_available: ["com.android.art"],
|
apex_available: ["com.android.art"],
|
||||||
jars: ["java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar"],
|
jars: ["java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar"],
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
prebuilt_bootclasspath_fragment {
|
|
||||||
name: "mysdk_mybootclasspathfragment@current",
|
|
||||||
sdk_member_name: "mybootclasspathfragment",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["com.android.art"],
|
|
||||||
image_name: "art",
|
|
||||||
contents: ["mysdk_mybootlib@current"],
|
|
||||||
hidden_api: {
|
|
||||||
annotation_flags: "hiddenapi/annotation-flags.csv",
|
|
||||||
metadata: "hiddenapi/metadata.csv",
|
|
||||||
index: "hiddenapi/index.csv",
|
|
||||||
signature_patterns: "hiddenapi/signature-patterns.csv",
|
|
||||||
filtered_stub_flags: "hiddenapi/filtered-stub-flags.csv",
|
|
||||||
filtered_flags: "hiddenapi/filtered-flags.csv",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_mybootlib@current",
|
|
||||||
sdk_member_name: "mybootlib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["com.android.art"],
|
|
||||||
jars: ["java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
bootclasspath_fragments: ["mysdk_mybootclasspathfragment@current"],
|
|
||||||
java_boot_libs: ["mysdk_mybootlib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/annotation-flags.csv -> hiddenapi/annotation-flags.csv
|
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/annotation-flags.csv -> hiddenapi/annotation-flags.csv
|
||||||
|
@ -317,7 +282,7 @@ func TestSnapshotWithBootClasspathFragment_Contents(t *testing.T) {
|
||||||
preparerForSnapshot := fixtureAddPrebuiltApexForBootclasspathFragment("myapex", "mybootclasspathfragment")
|
preparerForSnapshot := fixtureAddPrebuiltApexForBootclasspathFragment("myapex", "mybootclasspathfragment")
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
prebuilt_bootclasspath_fragment {
|
prebuilt_bootclasspath_fragment {
|
||||||
|
@ -400,103 +365,6 @@ java_sdk_library_import {
|
||||||
removed_api: "sdk_library/public/mycoreplatform-removed.txt",
|
removed_api: "sdk_library/public/mycoreplatform-removed.txt",
|
||||||
sdk_version: "current",
|
sdk_version: "current",
|
||||||
},
|
},
|
||||||
}
|
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
prebuilt_bootclasspath_fragment {
|
|
||||||
name: "mysdk_mybootclasspathfragment@current",
|
|
||||||
sdk_member_name: "mybootclasspathfragment",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["myapex"],
|
|
||||||
contents: [
|
|
||||||
"mysdk_mybootlib@current",
|
|
||||||
"mysdk_myothersdklibrary@current",
|
|
||||||
],
|
|
||||||
api: {
|
|
||||||
stub_libs: ["mysdk_mysdklibrary@current"],
|
|
||||||
},
|
|
||||||
core_platform_api: {
|
|
||||||
stub_libs: ["mysdk_mycoreplatform@current"],
|
|
||||||
},
|
|
||||||
hidden_api: {
|
|
||||||
annotation_flags: "hiddenapi/annotation-flags.csv",
|
|
||||||
metadata: "hiddenapi/metadata.csv",
|
|
||||||
index: "hiddenapi/index.csv",
|
|
||||||
signature_patterns: "hiddenapi/signature-patterns.csv",
|
|
||||||
filtered_stub_flags: "hiddenapi/filtered-stub-flags.csv",
|
|
||||||
filtered_flags: "hiddenapi/filtered-flags.csv",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_mybootlib@current",
|
|
||||||
sdk_member_name: "mybootlib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["myapex"],
|
|
||||||
jars: ["java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar"],
|
|
||||||
permitted_packages: ["mybootlib"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_sdk_library_import {
|
|
||||||
name: "mysdk_myothersdklibrary@current",
|
|
||||||
sdk_member_name: "myothersdklibrary",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["myapex"],
|
|
||||||
shared_library: true,
|
|
||||||
compile_dex: true,
|
|
||||||
permitted_packages: ["myothersdklibrary"],
|
|
||||||
public: {
|
|
||||||
jars: ["sdk_library/public/myothersdklibrary-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/public/myothersdklibrary_stub_sources"],
|
|
||||||
current_api: "sdk_library/public/myothersdklibrary.txt",
|
|
||||||
removed_api: "sdk_library/public/myothersdklibrary-removed.txt",
|
|
||||||
sdk_version: "current",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
java_sdk_library_import {
|
|
||||||
name: "mysdk_mysdklibrary@current",
|
|
||||||
sdk_member_name: "mysdklibrary",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["myapex"],
|
|
||||||
shared_library: false,
|
|
||||||
public: {
|
|
||||||
jars: ["sdk_library/public/mysdklibrary-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/public/mysdklibrary_stub_sources"],
|
|
||||||
current_api: "sdk_library/public/mysdklibrary.txt",
|
|
||||||
removed_api: "sdk_library/public/mysdklibrary-removed.txt",
|
|
||||||
sdk_version: "current",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
java_sdk_library_import {
|
|
||||||
name: "mysdk_mycoreplatform@current",
|
|
||||||
sdk_member_name: "mycoreplatform",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["myapex"],
|
|
||||||
shared_library: true,
|
|
||||||
compile_dex: true,
|
|
||||||
public: {
|
|
||||||
jars: ["sdk_library/public/mycoreplatform-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/public/mycoreplatform_stub_sources"],
|
|
||||||
current_api: "sdk_library/public/mycoreplatform.txt",
|
|
||||||
removed_api: "sdk_library/public/mycoreplatform-removed.txt",
|
|
||||||
sdk_version: "current",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
bootclasspath_fragments: ["mysdk_mybootclasspathfragment@current"],
|
|
||||||
java_boot_libs: ["mysdk_mybootlib@current"],
|
|
||||||
java_sdk_libs: [
|
|
||||||
"mysdk_myothersdklibrary@current",
|
|
||||||
"mysdk_mysdklibrary@current",
|
|
||||||
"mysdk_mycoreplatform@current",
|
|
||||||
],
|
|
||||||
}
|
}
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
|
@ -630,7 +498,7 @@ func TestSnapshotWithBootClasspathFragment_Fragments(t *testing.T) {
|
||||||
preparerForSnapshot := fixtureAddPrebuiltApexForBootclasspathFragment("myapex", "mybootclasspathfragment")
|
preparerForSnapshot := fixtureAddPrebuiltApexForBootclasspathFragment("myapex", "mybootclasspathfragment")
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
prebuilt_bootclasspath_fragment {
|
prebuilt_bootclasspath_fragment {
|
||||||
|
@ -828,7 +696,7 @@ func TestSnapshotWithBootclasspathFragment_HiddenAPI(t *testing.T) {
|
||||||
preparerForSnapshot := fixtureAddPrebuiltApexForBootclasspathFragment("myapex", "mybootclasspathfragment")
|
preparerForSnapshot := fixtureAddPrebuiltApexForBootclasspathFragment("myapex", "mybootclasspathfragment")
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
prebuilt_bootclasspath_fragment {
|
prebuilt_bootclasspath_fragment {
|
||||||
|
|
12
sdk/bp.go
12
sdk/bp.go
|
@ -298,15 +298,15 @@ func (t identityTransformation) transformModule(module *bpModule) *bpModule {
|
||||||
return module
|
return module
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t identityTransformation) transformPropertySetBeforeContents(name string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) {
|
func (t identityTransformation) transformPropertySetBeforeContents(_ string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) {
|
||||||
return propertySet, tag
|
return propertySet, tag
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t identityTransformation) transformPropertySetAfterContents(name string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) {
|
func (t identityTransformation) transformPropertySetAfterContents(_ string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) {
|
||||||
return propertySet, tag
|
return propertySet, tag
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t identityTransformation) transformProperty(name string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) {
|
func (t identityTransformation) transformProperty(_ string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) {
|
||||||
return value, tag
|
return value, tag
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -332,7 +332,7 @@ func (t deepCopyTransformation) transformModule(module *bpModule) *bpModule {
|
||||||
return &moduleCopy
|
return &moduleCopy
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t deepCopyTransformation) transformPropertySetBeforeContents(name string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) {
|
func (t deepCopyTransformation) transformPropertySetBeforeContents(_ string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) {
|
||||||
// Create a shallow copy of the properties map. Any mutable property values will be copied by the
|
// Create a shallow copy of the properties map. Any mutable property values will be copied by the
|
||||||
// transformer.
|
// transformer.
|
||||||
propertiesCopy := make(map[string]interface{})
|
propertiesCopy := make(map[string]interface{})
|
||||||
|
@ -354,7 +354,7 @@ func (t deepCopyTransformation) transformPropertySetBeforeContents(name string,
|
||||||
}, tag
|
}, tag
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t deepCopyTransformation) transformProperty(name string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) {
|
func (t deepCopyTransformation) transformProperty(_ string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) {
|
||||||
// Copy string slice, otherwise return value.
|
// Copy string slice, otherwise return value.
|
||||||
if values, ok := value.([]string); ok {
|
if values, ok := value.([]string); ok {
|
||||||
valuesCopy := make([]string, len(values))
|
valuesCopy := make([]string, len(values))
|
||||||
|
@ -372,7 +372,7 @@ type bpFile struct {
|
||||||
order []*bpModule
|
order []*bpModule
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add a module.
|
// AddModule adds a module to this.
|
||||||
//
|
//
|
||||||
// The module must have had its "name" property set to a string value that
|
// The module must have had its "name" property set to a string value that
|
||||||
// is unique within this file.
|
// is unique within this file.
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -37,23 +37,7 @@ func TestSnapshotWithCompatConfig(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkVersionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
prebuilt_platform_compat_config {
|
|
||||||
name: "mysdk_myconfig@current",
|
|
||||||
sdk_member_name: "myconfig",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
metadata: "compat_configs/myconfig/myconfig_meta.xml",
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
compat_configs: ["mysdk_myconfig@current"],
|
|
||||||
}
|
|
||||||
`),
|
|
||||||
checkUnversionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
prebuilt_platform_compat_config {
|
prebuilt_platform_compat_config {
|
||||||
|
|
|
@ -31,7 +31,7 @@ func ModuleExportsFactory() android.Module {
|
||||||
return newSdkModule(true)
|
return newSdkModule(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
// module_exports_snapshot is a versioned snapshot of prebuilt versions of all the exports
|
// module_exports_snapshot is a snapshot of prebuilt versions of all the exports
|
||||||
// of a mainline module.
|
// of a mainline module.
|
||||||
func ModuleExportsSnapshotsFactory() android.Module {
|
func ModuleExportsSnapshotsFactory() android.Module {
|
||||||
s := newSdkModule(true)
|
s := newSdkModule(true)
|
||||||
|
|
|
@ -43,7 +43,7 @@ func TestModuleExportsSnapshot(t *testing.T) {
|
||||||
})
|
})
|
||||||
|
|
||||||
CheckSnapshot(t, result, "myexports", "package",
|
CheckSnapshot(t, result, "myexports", "package",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
|
@ -53,23 +53,6 @@ java_import {
|
||||||
apex_available: ["//apex_available:platform"],
|
apex_available: ["//apex_available:platform"],
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java/myjavalib.jar"],
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "myexports_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/myjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
module_exports_snapshot {
|
|
||||||
name: "myexports@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_libs: ["myexports_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,7 +96,7 @@ func TestSnapshotWithJavaHeaderLibrary(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
|
@ -107,24 +107,6 @@ java_import {
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java/myjavalib.jar"],
|
||||||
permitted_packages: ["pkg.myjavalib"],
|
permitted_packages: ["pkg.myjavalib"],
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/myjavalib.jar"],
|
|
||||||
permitted_packages: ["pkg.myjavalib"],
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_header_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/myjavalib.jar
|
.intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/myjavalib.jar
|
||||||
|
@ -160,7 +142,7 @@ func TestHostSnapshotWithJavaHeaderLibrary(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
|
@ -172,27 +154,6 @@ java_import {
|
||||||
host_supported: true,
|
host_supported: true,
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java/myjavalib.jar"],
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
device_supported: false,
|
|
||||||
host_supported: true,
|
|
||||||
jars: ["java/myjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
device_supported: false,
|
|
||||||
host_supported: true,
|
|
||||||
java_header_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/myjavalib.jar
|
.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/myjavalib.jar
|
||||||
|
@ -220,7 +181,7 @@ func TestDeviceAndHostSnapshotWithJavaHeaderLibrary(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
|
@ -238,32 +199,6 @@ java_import {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
host_supported: true,
|
|
||||||
target: {
|
|
||||||
android: {
|
|
||||||
jars: ["java/android/myjavalib.jar"],
|
|
||||||
},
|
|
||||||
linux_glibc: {
|
|
||||||
jars: ["java/linux_glibc/myjavalib.jar"],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
host_supported: true,
|
|
||||||
java_header_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/android/myjavalib.jar
|
.intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/android/myjavalib.jar
|
||||||
|
@ -298,7 +233,7 @@ func TestSnapshotWithJavaImplLibrary(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "myexports", "",
|
CheckSnapshot(t, result, "myexports", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
|
@ -308,23 +243,6 @@ java_import {
|
||||||
apex_available: ["//apex_available:platform"],
|
apex_available: ["//apex_available:platform"],
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java/myjavalib.jar"],
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "myexports_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/myjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
module_exports_snapshot {
|
|
||||||
name: "myexports@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_libs: ["myexports_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavalib/android_common/withres/myjavalib.jar -> java/myjavalib.jar
|
.intermediates/myjavalib/android_common/withres/myjavalib.jar -> java/myjavalib.jar
|
||||||
|
@ -361,7 +279,7 @@ func TestSnapshotWithJavaBootLibrary(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "myexports", "",
|
CheckSnapshot(t, result, "myexports", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
|
@ -372,25 +290,6 @@ java_import {
|
||||||
jars: ["java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar"],
|
jars: ["java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar"],
|
||||||
permitted_packages: ["pkg.myjavalib"],
|
permitted_packages: ["pkg.myjavalib"],
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "myexports_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar"],
|
|
||||||
permitted_packages: ["pkg.myjavalib"],
|
|
||||||
}
|
|
||||||
|
|
||||||
module_exports_snapshot {
|
|
||||||
name: "myexports@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_boot_libs: ["myexports_myjavalib@current"],
|
|
||||||
}
|
|
||||||
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myexports/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar
|
.intermediates/myexports/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar
|
||||||
|
@ -427,7 +326,7 @@ func TestSnapshotWithJavaSystemserverLibrary(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "myexports", "",
|
CheckSnapshot(t, result, "myexports", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
|
@ -438,24 +337,6 @@ java_import {
|
||||||
jars: ["java_systemserver_libs/snapshot/jars/are/invalid/myjavalib.jar"],
|
jars: ["java_systemserver_libs/snapshot/jars/are/invalid/myjavalib.jar"],
|
||||||
permitted_packages: ["pkg.myjavalib"],
|
permitted_packages: ["pkg.myjavalib"],
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "myexports_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java_systemserver_libs/snapshot/jars/are/invalid/myjavalib.jar"],
|
|
||||||
permitted_packages: ["pkg.myjavalib"],
|
|
||||||
}
|
|
||||||
|
|
||||||
module_exports_snapshot {
|
|
||||||
name: "myexports@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_systemserver_libs: ["myexports_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myexports/common_os/empty -> java_systemserver_libs/snapshot/jars/are/invalid/myjavalib.jar
|
.intermediates/myexports/common_os/empty -> java_systemserver_libs/snapshot/jars/are/invalid/myjavalib.jar
|
||||||
|
@ -490,7 +371,7 @@ func TestHostSnapshotWithJavaImplLibrary(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "myexports", "",
|
CheckSnapshot(t, result, "myexports", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
|
@ -502,27 +383,6 @@ java_import {
|
||||||
host_supported: true,
|
host_supported: true,
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java/myjavalib.jar"],
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "myexports_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
device_supported: false,
|
|
||||||
host_supported: true,
|
|
||||||
jars: ["java/myjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
module_exports_snapshot {
|
|
||||||
name: "myexports@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
device_supported: false,
|
|
||||||
host_supported: true,
|
|
||||||
java_libs: ["myexports_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/myjavalib.jar
|
.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/myjavalib.jar
|
||||||
|
@ -549,7 +409,7 @@ func TestSnapshotWithJavaTest(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "myexports", "",
|
CheckSnapshot(t, result, "myexports", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_test_import {
|
java_test_import {
|
||||||
|
@ -560,24 +420,6 @@ java_test_import {
|
||||||
jars: ["java/myjavatests.jar"],
|
jars: ["java/myjavatests.jar"],
|
||||||
test_config: "java/myjavatests-AndroidTest.xml",
|
test_config: "java/myjavatests-AndroidTest.xml",
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_test_import {
|
|
||||||
name: "myexports_myjavatests@current",
|
|
||||||
sdk_member_name: "myjavatests",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/myjavatests.jar"],
|
|
||||||
test_config: "java/myjavatests-AndroidTest.xml",
|
|
||||||
}
|
|
||||||
|
|
||||||
module_exports_snapshot {
|
|
||||||
name: "myexports@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_tests: ["myexports_myjavatests@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavatests/android_common/javac/myjavatests.jar -> java/myjavatests.jar
|
.intermediates/myjavatests/android_common/javac/myjavatests.jar -> java/myjavatests.jar
|
||||||
|
@ -607,7 +449,7 @@ func TestHostSnapshotWithJavaTest(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "myexports", "",
|
CheckSnapshot(t, result, "myexports", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_test_import {
|
java_test_import {
|
||||||
|
@ -620,28 +462,6 @@ java_test_import {
|
||||||
jars: ["java/myjavatests.jar"],
|
jars: ["java/myjavatests.jar"],
|
||||||
test_config: "java/myjavatests-AndroidTest.xml",
|
test_config: "java/myjavatests-AndroidTest.xml",
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_test_import {
|
|
||||||
name: "myexports_myjavatests@current",
|
|
||||||
sdk_member_name: "myjavatests",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
device_supported: false,
|
|
||||||
host_supported: true,
|
|
||||||
jars: ["java/myjavatests.jar"],
|
|
||||||
test_config: "java/myjavatests-AndroidTest.xml",
|
|
||||||
}
|
|
||||||
|
|
||||||
module_exports_snapshot {
|
|
||||||
name: "myexports@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
device_supported: false,
|
|
||||||
host_supported: true,
|
|
||||||
java_tests: ["myexports_myjavatests@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavatests/linux_glibc_common/javac/myjavatests.jar -> java/myjavatests.jar
|
.intermediates/myjavatests/linux_glibc_common/javac/myjavatests.jar -> java/myjavatests.jar
|
||||||
|
@ -703,7 +523,7 @@ func TestSnapshotWithJavaSystemModules(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
|
@ -747,59 +567,6 @@ java_system_modules_import {
|
||||||
"myjavalib.stubs",
|
"myjavalib.stubs",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_exported-system-module@current",
|
|
||||||
sdk_member_name: "exported-system-module",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/exported-system-module.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_system-module@current",
|
|
||||||
sdk_member_name: "system-module",
|
|
||||||
visibility: ["//visibility:private"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/system-module.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_sdk_library_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:anyapex"],
|
|
||||||
shared_library: false,
|
|
||||||
public: {
|
|
||||||
jars: ["sdk_library/public/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/public/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/public/myjavalib-removed.txt",
|
|
||||||
sdk_version: "current",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
java_system_modules_import {
|
|
||||||
name: "mysdk_my-system-modules@current",
|
|
||||||
sdk_member_name: "my-system-modules",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
libs: [
|
|
||||||
"mysdk_system-module@current",
|
|
||||||
"mysdk_exported-system-module@current",
|
|
||||||
"mysdk_myjavalib.stubs@current",
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_header_libs: ["mysdk_exported-system-module@current"],
|
|
||||||
java_sdk_libs: ["mysdk_myjavalib@current"],
|
|
||||||
java_system_modules: ["mysdk_my-system-modules@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/exported-system-module/android_common/turbine-combined/exported-system-module.jar -> java/exported-system-module.jar
|
.intermediates/exported-system-module/android_common/turbine-combined/exported-system-module.jar -> java/exported-system-module.jar
|
||||||
|
@ -885,7 +652,7 @@ func TestHostSnapshotWithJavaSystemModules(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
|
@ -906,36 +673,6 @@ java_system_modules_import {
|
||||||
host_supported: true,
|
host_supported: true,
|
||||||
libs: ["mysdk_system-module"],
|
libs: ["mysdk_system-module"],
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_system-module@current",
|
|
||||||
sdk_member_name: "system-module",
|
|
||||||
visibility: ["//visibility:private"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
device_supported: false,
|
|
||||||
host_supported: true,
|
|
||||||
jars: ["java/system-module.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_system_modules_import {
|
|
||||||
name: "mysdk_my-system-modules@current",
|
|
||||||
sdk_member_name: "my-system-modules",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
device_supported: false,
|
|
||||||
host_supported: true,
|
|
||||||
libs: ["mysdk_system-module@current"],
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
device_supported: false,
|
|
||||||
host_supported: true,
|
|
||||||
java_system_modules: ["mysdk_my-system-modules@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(".intermediates/system-module/linux_glibc_common/javac/system-module.jar -> java/system-module.jar"),
|
checkAllCopyRules(".intermediates/system-module/linux_glibc_common/javac/system-module.jar -> java/system-module.jar"),
|
||||||
)
|
)
|
||||||
|
@ -979,7 +716,7 @@ func TestDeviceAndHostSnapshotWithOsSpecificMembers(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "myexports", "",
|
CheckSnapshot(t, result, "myexports", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
|
@ -1015,58 +752,6 @@ java_import {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "myexports_hostjavalib@current",
|
|
||||||
sdk_member_name: "hostjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
device_supported: false,
|
|
||||||
host_supported: true,
|
|
||||||
jars: ["java/hostjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "myexports_androidjavalib@current",
|
|
||||||
sdk_member_name: "androidjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/androidjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "myexports_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
host_supported: true,
|
|
||||||
target: {
|
|
||||||
android: {
|
|
||||||
jars: ["java/android/myjavalib.jar"],
|
|
||||||
},
|
|
||||||
linux_glibc: {
|
|
||||||
jars: ["java/linux_glibc/myjavalib.jar"],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
module_exports_snapshot {
|
|
||||||
name: "myexports@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
host_supported: true,
|
|
||||||
java_libs: ["myexports_myjavalib@current"],
|
|
||||||
target: {
|
|
||||||
android: {
|
|
||||||
java_header_libs: ["myexports_androidjavalib@current"],
|
|
||||||
},
|
|
||||||
linux_glibc: {
|
|
||||||
java_header_libs: ["myexports_hostjavalib@current"],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/hostjavalib/linux_glibc_common/javac/hostjavalib.jar -> java/hostjavalib.jar
|
.intermediates/hostjavalib/linux_glibc_common/javac/hostjavalib.jar -> java/hostjavalib.jar
|
||||||
|
@ -1097,7 +782,7 @@ func TestSnapshotWithJavaSdkLibrary(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -1129,45 +814,6 @@ java_sdk_library_import {
|
||||||
sdk_version: "test_current",
|
sdk_version: "test_current",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_sdk_library_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:anyapex"],
|
|
||||||
shared_library: false,
|
|
||||||
permitted_packages: ["pkg.myjavalib"],
|
|
||||||
public: {
|
|
||||||
jars: ["sdk_library/public/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/public/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/public/myjavalib-removed.txt",
|
|
||||||
sdk_version: "current",
|
|
||||||
},
|
|
||||||
system: {
|
|
||||||
jars: ["sdk_library/system/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/system/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/system/myjavalib-removed.txt",
|
|
||||||
sdk_version: "system_current",
|
|
||||||
},
|
|
||||||
test: {
|
|
||||||
jars: ["sdk_library/test/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/test/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/test/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/test/myjavalib-removed.txt",
|
|
||||||
sdk_version: "test_current",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_sdk_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
||||||
|
@ -1185,12 +831,6 @@ sdk_snapshot {
|
||||||
".intermediates/mysdk/common_os/tmp/sdk_library/system/myjavalib_stub_sources.zip",
|
".intermediates/mysdk/common_os/tmp/sdk_library/system/myjavalib_stub_sources.zip",
|
||||||
".intermediates/mysdk/common_os/tmp/sdk_library/test/myjavalib_stub_sources.zip",
|
".intermediates/mysdk/common_os/tmp/sdk_library/test/myjavalib_stub_sources.zip",
|
||||||
),
|
),
|
||||||
snapshotTestChecker(checkSnapshotWithoutSource, func(t *testing.T, result *android.TestResult) {
|
|
||||||
// Make sure that the name of the child modules created by a versioned java_sdk_library_import
|
|
||||||
// module is correct, i.e. the suffix is added before the version and not after.
|
|
||||||
result.Module("mysdk_myjavalib.stubs@current", "android_common")
|
|
||||||
result.Module("mysdk_myjavalib.stubs.source@current", "android_common")
|
|
||||||
}),
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1218,7 +858,7 @@ func TestSnapshotWithJavaSdkLibrary_UseSrcJar(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -1265,7 +905,7 @@ func TestSnapshotWithJavaSdkLibrary_AnnotationsZip(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -1319,7 +959,7 @@ func TestSnapshotWithJavaSdkLibrary_AnnotationsZip_PreT(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -1369,7 +1009,7 @@ func TestSnapshotWithJavaSdkLibrary_CompileDex(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -1436,7 +1076,7 @@ func TestSnapshotWithJavaSdkLibrary_SdkVersion_None(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -1453,30 +1093,6 @@ java_sdk_library_import {
|
||||||
sdk_version: "none",
|
sdk_version: "none",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_sdk_library_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
shared_library: true,
|
|
||||||
public: {
|
|
||||||
jars: ["sdk_library/public/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/public/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/public/myjavalib-removed.txt",
|
|
||||||
sdk_version: "none",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_sdk_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
||||||
|
@ -1508,7 +1124,7 @@ func TestSnapshotWithJavaSdkLibrary_SdkVersion_ForScope(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -1525,30 +1141,6 @@ java_sdk_library_import {
|
||||||
sdk_version: "module_current",
|
sdk_version: "module_current",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_sdk_library_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
shared_library: true,
|
|
||||||
public: {
|
|
||||||
jars: ["sdk_library/public/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/public/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/public/myjavalib-removed.txt",
|
|
||||||
sdk_version: "module_current",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_sdk_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
||||||
|
@ -1583,7 +1175,7 @@ func TestSnapshotWithJavaSdkLibrary_ApiScopes(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -1607,37 +1199,6 @@ java_sdk_library_import {
|
||||||
sdk_version: "system_current",
|
sdk_version: "system_current",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_sdk_library_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:anyapex"],
|
|
||||||
shared_library: true,
|
|
||||||
public: {
|
|
||||||
jars: ["sdk_library/public/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/public/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/public/myjavalib-removed.txt",
|
|
||||||
sdk_version: "current",
|
|
||||||
},
|
|
||||||
system: {
|
|
||||||
jars: ["sdk_library/system/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/system/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/system/myjavalib-removed.txt",
|
|
||||||
sdk_version: "system_current",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_sdk_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
||||||
|
@ -1679,7 +1240,7 @@ func TestSnapshotWithJavaSdkLibrary_ModuleLib(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -1710,44 +1271,6 @@ java_sdk_library_import {
|
||||||
sdk_version: "module_current",
|
sdk_version: "module_current",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_sdk_library_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:anyapex"],
|
|
||||||
shared_library: true,
|
|
||||||
public: {
|
|
||||||
jars: ["sdk_library/public/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/public/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/public/myjavalib-removed.txt",
|
|
||||||
sdk_version: "current",
|
|
||||||
},
|
|
||||||
system: {
|
|
||||||
jars: ["sdk_library/system/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/system/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/system/myjavalib-removed.txt",
|
|
||||||
sdk_version: "system_current",
|
|
||||||
},
|
|
||||||
module_lib: {
|
|
||||||
jars: ["sdk_library/module-lib/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/module-lib/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/module-lib/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/module-lib/myjavalib-removed.txt",
|
|
||||||
sdk_version: "module_current",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_sdk_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
||||||
|
@ -1790,7 +1313,7 @@ func TestSnapshotWithJavaSdkLibrary_SystemServer(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -1814,37 +1337,6 @@ java_sdk_library_import {
|
||||||
sdk_version: "system_server_current",
|
sdk_version: "system_server_current",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_sdk_library_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:anyapex"],
|
|
||||||
shared_library: true,
|
|
||||||
public: {
|
|
||||||
jars: ["sdk_library/public/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/public/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/public/myjavalib-removed.txt",
|
|
||||||
sdk_version: "current",
|
|
||||||
},
|
|
||||||
system_server: {
|
|
||||||
jars: ["sdk_library/system-server/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/system-server/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/system-server/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/system-server/myjavalib-removed.txt",
|
|
||||||
sdk_version: "system_server_current",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_sdk_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
||||||
|
@ -1881,7 +1373,7 @@ func TestSnapshotWithJavaSdkLibrary_NamingScheme(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -1899,31 +1391,6 @@ java_sdk_library_import {
|
||||||
sdk_version: "current",
|
sdk_version: "current",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_sdk_library_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:anyapex"],
|
|
||||||
naming_scheme: "default",
|
|
||||||
shared_library: true,
|
|
||||||
public: {
|
|
||||||
jars: ["sdk_library/public/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/public/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/public/myjavalib-removed.txt",
|
|
||||||
sdk_version: "current",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_sdk_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
||||||
|
@ -1963,7 +1430,7 @@ func TestSnapshotWithJavaSdkLibrary_DoctagFiles(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -1981,31 +1448,6 @@ java_sdk_library_import {
|
||||||
sdk_version: "current",
|
sdk_version: "current",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_sdk_library_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
shared_library: true,
|
|
||||||
doctag_files: ["doctags/docs/known_doctags"],
|
|
||||||
public: {
|
|
||||||
jars: ["sdk_library/public/myjavalib-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
|
|
||||||
current_api: "sdk_library/public/myjavalib.txt",
|
|
||||||
removed_api: "sdk_library/public/myjavalib-removed.txt",
|
|
||||||
sdk_version: "current",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_sdk_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
|
||||||
|
|
|
@ -60,7 +60,7 @@ func TestSnapshotWithPackageDefaultLicense(t *testing.T) {
|
||||||
`)
|
`)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
package {
|
package {
|
||||||
|
@ -89,44 +89,6 @@ license {
|
||||||
"licenses/NOTICE1",
|
"licenses/NOTICE1",
|
||||||
"licenses/NOTICE2",
|
"licenses/NOTICE2",
|
||||||
],
|
],
|
||||||
}
|
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
package {
|
|
||||||
// A default list here prevents the license LSC from adding its own list which would
|
|
||||||
// be unnecessary as every module in the sdk already has its own licenses property.
|
|
||||||
default_applicable_licenses: ["Android-Apache-2.0"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
licenses: ["mysdk_mylicense@current"],
|
|
||||||
jars: ["java/myjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
license {
|
|
||||||
name: "mysdk_mylicense@current",
|
|
||||||
sdk_member_name: "mylicense",
|
|
||||||
visibility: ["//visibility:private"],
|
|
||||||
license_kinds: [
|
|
||||||
"SPDX-license-identifier-Apache-2.0",
|
|
||||||
"legacy_unencumbered",
|
|
||||||
],
|
|
||||||
license_text: [
|
|
||||||
"licenses/NOTICE1",
|
|
||||||
"licenses/NOTICE2",
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_header_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
}
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
|
|
|
@ -134,7 +134,7 @@ func TestBasicTrait_WithoutTrait(t *testing.T) {
|
||||||
).RunTest(t)
|
).RunTest(t)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
|
@ -144,23 +144,6 @@ java_import {
|
||||||
apex_available: ["//apex_available:platform"],
|
apex_available: ["//apex_available:platform"],
|
||||||
jars: ["javalibs/myjavalib.jar"],
|
jars: ["javalibs/myjavalib.jar"],
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["javalibs/myjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
fake_members: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -216,7 +199,7 @@ func TestBasicTrait_MultipleTraits(t *testing.T) {
|
||||||
).RunTest(t)
|
).RunTest(t)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_test_import {
|
java_test_import {
|
||||||
|
|
34
sdk/sdk.go
34
sdk/sdk.go
|
@ -146,7 +146,7 @@ func newSdkModule(moduleExports bool) *sdk {
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
// sdk_snapshot is a versioned snapshot of an SDK. This is an auto-generated module.
|
// sdk_snapshot is a snapshot of an SDK. This is an auto-generated module.
|
||||||
func SnapshotModuleFactory() android.Module {
|
func SnapshotModuleFactory() android.Module {
|
||||||
s := newSdkModule(false)
|
s := newSdkModule(false)
|
||||||
s.properties.Snapshot = true
|
s.properties.Snapshot = true
|
||||||
|
@ -292,38 +292,6 @@ func (t dependencyTag) ExcludeFromApexContents() {}
|
||||||
|
|
||||||
var _ android.ExcludeFromApexContentsTag = dependencyTag{}
|
var _ android.ExcludeFromApexContentsTag = dependencyTag{}
|
||||||
|
|
||||||
// For dependencies from an in-development version of an SDK member to frozen versions of the same member
|
|
||||||
// e.g. libfoo -> libfoo.mysdk.11 and libfoo.mysdk.12
|
|
||||||
//
|
|
||||||
// The dependency represented by this tag requires that for every APEX variant created for the
|
|
||||||
// `from` module that an equivalent APEX variant is created for the 'to' module. This is because an
|
|
||||||
// APEX that requires a specific version of an sdk (via the `uses_sdks` property will replace
|
|
||||||
// dependencies on the unversioned sdk member with a dependency on the appropriate versioned sdk
|
|
||||||
// member. In order for that to work the versioned sdk member needs to have a variant for that APEX.
|
|
||||||
// As it is not known at the time that the APEX variants are created which specific APEX variants of
|
|
||||||
// a versioned sdk members will be required it is necessary for the versioned sdk members to have
|
|
||||||
// variants for any APEX that it could be used within.
|
|
||||||
//
|
|
||||||
// If the APEX selects a versioned sdk member then it will not have a dependency on the `from`
|
|
||||||
// module at all so any dependencies of that module will not affect the APEX. However, if the APEX
|
|
||||||
// selects the unversioned sdk member then it must exclude all the versioned sdk members. In no
|
|
||||||
// situation would this dependency cause the `to` module to be added to the APEX hence why this tag
|
|
||||||
// also excludes the `to` module from being added to the APEX contents.
|
|
||||||
type sdkMemberVersionedDepTag struct {
|
|
||||||
dependencyTag
|
|
||||||
member string
|
|
||||||
version string
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t sdkMemberVersionedDepTag) AlwaysRequireApexVariant() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// Mark this tag so dependencies that use it are excluded from visibility enforcement.
|
|
||||||
func (t sdkMemberVersionedDepTag) ExcludeFromVisibilityEnforcement() {}
|
|
||||||
|
|
||||||
var _ android.AlwaysRequireApexVariantTag = sdkMemberVersionedDepTag{}
|
|
||||||
|
|
||||||
// Step 1: create dependencies from an SDK module to its members.
|
// Step 1: create dependencies from an SDK module to its members.
|
||||||
func memberMutator(mctx android.BottomUpMutatorContext) {
|
func memberMutator(mctx android.BottomUpMutatorContext) {
|
||||||
if s, ok := mctx.Module().(*sdk); ok {
|
if s, ok := mctx.Module().(*sdk); ok {
|
||||||
|
|
198
sdk/sdk_test.go
198
sdk/sdk_test.go
|
@ -118,18 +118,6 @@ func TestSnapshotVisibility(t *testing.T) {
|
||||||
checkAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: [
|
|
||||||
"//other/foo",
|
|
||||||
"//package",
|
|
||||||
"//prebuilts/mysdk",
|
|
||||||
],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/myjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
name: "myjavalib",
|
name: "myjavalib",
|
||||||
prefer: false,
|
prefer: false,
|
||||||
|
@ -142,14 +130,6 @@ java_import {
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java/myjavalib.jar"],
|
||||||
}
|
}
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_mypublicjavalib@current",
|
|
||||||
sdk_member_name: "mypublicjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/mypublicjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
name: "mypublicjavalib",
|
name: "mypublicjavalib",
|
||||||
prefer: false,
|
prefer: false,
|
||||||
|
@ -158,18 +138,6 @@ java_import {
|
||||||
jars: ["java/mypublicjavalib.jar"],
|
jars: ["java/mypublicjavalib.jar"],
|
||||||
}
|
}
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_mydefaultedjavalib@current",
|
|
||||||
sdk_member_name: "mydefaultedjavalib",
|
|
||||||
visibility: [
|
|
||||||
"//other/bar",
|
|
||||||
"//package",
|
|
||||||
"//prebuilts/mysdk",
|
|
||||||
],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/mydefaultedjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
name: "mydefaultedjavalib",
|
name: "mydefaultedjavalib",
|
||||||
prefer: false,
|
prefer: false,
|
||||||
|
@ -182,17 +150,6 @@ java_import {
|
||||||
jars: ["java/mydefaultedjavalib.jar"],
|
jars: ["java/mydefaultedjavalib.jar"],
|
||||||
}
|
}
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_myprivatejavalib@current",
|
|
||||||
sdk_member_name: "myprivatejavalib",
|
|
||||||
visibility: [
|
|
||||||
"//package",
|
|
||||||
"//prebuilts/mysdk",
|
|
||||||
],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/myprivatejavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
name: "myprivatejavalib",
|
name: "myprivatejavalib",
|
||||||
prefer: false,
|
prefer: false,
|
||||||
|
@ -203,20 +160,6 @@ java_import {
|
||||||
apex_available: ["//apex_available:platform"],
|
apex_available: ["//apex_available:platform"],
|
||||||
jars: ["java/myprivatejavalib.jar"],
|
jars: ["java/myprivatejavalib.jar"],
|
||||||
}
|
}
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: [
|
|
||||||
"//other/foo",
|
|
||||||
"//package:__subpackages__",
|
|
||||||
],
|
|
||||||
java_header_libs: [
|
|
||||||
"mysdk_myjavalib@current",
|
|
||||||
"mysdk_mypublicjavalib@current",
|
|
||||||
"mysdk_mydefaultedjavalib@current",
|
|
||||||
"mysdk_myprivatejavalib@current",
|
|
||||||
],
|
|
||||||
}
|
|
||||||
`))
|
`))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -449,14 +392,6 @@ func TestSnapshot_EnvConfiguration(t *testing.T) {
|
||||||
checkAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/myjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
name: "myjavalib",
|
name: "myjavalib",
|
||||||
prefer: false,
|
prefer: false,
|
||||||
|
@ -464,12 +399,6 @@ java_import {
|
||||||
apex_available: ["//apex_available:platform"],
|
apex_available: ["//apex_available:platform"],
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java/myjavalib.jar"],
|
||||||
}
|
}
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_header_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@ -488,14 +417,6 @@ sdk_snapshot {
|
||||||
checkAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/myjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
name: "myjavalib",
|
name: "myjavalib",
|
||||||
prefer: true,
|
prefer: true,
|
||||||
|
@ -503,12 +424,6 @@ java_import {
|
||||||
apex_available: ["//apex_available:platform"],
|
apex_available: ["//apex_available:platform"],
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java/myjavalib.jar"],
|
||||||
}
|
}
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_header_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
@ -527,14 +442,6 @@ sdk_snapshot {
|
||||||
checkAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/myjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
java_import {
|
||||||
name: "myjavalib",
|
name: "myjavalib",
|
||||||
prefer: false,
|
prefer: false,
|
||||||
|
@ -546,113 +453,10 @@ java_import {
|
||||||
apex_available: ["//apex_available:platform"],
|
apex_available: ["//apex_available:platform"],
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java/myjavalib.jar"],
|
||||||
}
|
}
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_header_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("SOONG_SDK_SNAPSHOT_VERSION=unversioned", func(t *testing.T) {
|
|
||||||
result := android.GroupFixturePreparers(
|
|
||||||
preparer,
|
|
||||||
android.FixtureMergeEnv(map[string]string{
|
|
||||||
"SOONG_SDK_SNAPSHOT_VERSION": "unversioned",
|
|
||||||
}),
|
|
||||||
).RunTest(t)
|
|
||||||
|
|
||||||
checkZipFile(t, result, "out/soong/.intermediates/mysdk/common_os/mysdk.zip")
|
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
|
||||||
checkAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "myjavalib",
|
|
||||||
prefer: false,
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/myjavalib.jar"],
|
|
||||||
}
|
|
||||||
`),
|
|
||||||
)
|
|
||||||
})
|
|
||||||
|
|
||||||
t.Run("SOONG_SDK_SNAPSHOT_VERSION=current", func(t *testing.T) {
|
|
||||||
result := android.GroupFixturePreparers(
|
|
||||||
preparer,
|
|
||||||
android.FixtureMergeEnv(map[string]string{
|
|
||||||
"SOONG_SDK_SNAPSHOT_VERSION": "current",
|
|
||||||
}),
|
|
||||||
).RunTest(t)
|
|
||||||
|
|
||||||
checkZipFile(t, result, "out/soong/.intermediates/mysdk/common_os/mysdk-current.zip")
|
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
|
||||||
checkAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_myjavalib@current",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/myjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "myjavalib",
|
|
||||||
prefer: false,
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/myjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_header_libs: ["mysdk_myjavalib@current"],
|
|
||||||
}
|
|
||||||
`),
|
|
||||||
)
|
|
||||||
})
|
|
||||||
|
|
||||||
t.Run("SOONG_SDK_SNAPSHOT_VERSION=2", func(t *testing.T) {
|
|
||||||
result := android.GroupFixturePreparers(
|
|
||||||
preparer,
|
|
||||||
android.FixtureMergeEnv(map[string]string{
|
|
||||||
"SOONG_SDK_SNAPSHOT_VERSION": "2",
|
|
||||||
}),
|
|
||||||
).RunTest(t)
|
|
||||||
|
|
||||||
checkZipFile(t, result, "out/soong/.intermediates/mysdk/common_os/mysdk-2.zip")
|
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
|
||||||
checkAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_myjavalib@2",
|
|
||||||
sdk_member_name: "myjavalib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["//apex_available:platform"],
|
|
||||||
jars: ["java/myjavalib.jar"],
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@2",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_header_libs: ["mysdk_myjavalib@2"],
|
|
||||||
}
|
|
||||||
`),
|
|
||||||
// A versioned snapshot cannot be used on its own so add the source back in.
|
|
||||||
snapshotTestPreparer(checkSnapshotWithoutSource, android.FixtureWithRootAndroidBp(bp)),
|
|
||||||
)
|
|
||||||
})
|
|
||||||
|
|
||||||
t.Run("SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE=S", func(t *testing.T) {
|
t.Run("SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE=S", func(t *testing.T) {
|
||||||
result := android.GroupFixturePreparers(
|
result := android.GroupFixturePreparers(
|
||||||
prepareForSdkTestWithJava,
|
prepareForSdkTestWithJava,
|
||||||
|
@ -685,7 +489,7 @@ sdk_snapshot {
|
||||||
).RunTest(t)
|
).RunTest(t)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
prebuilt_bootclasspath_fragment {
|
prebuilt_bootclasspath_fragment {
|
||||||
|
|
|
@ -83,7 +83,7 @@ func TestSnapshotWithSystemServerClasspathFragment(t *testing.T) {
|
||||||
).RunTest(t)
|
).RunTest(t)
|
||||||
|
|
||||||
CheckSnapshot(t, result, "mysdk", "",
|
CheckSnapshot(t, result, "mysdk", "",
|
||||||
checkUnversionedAndroidBpContents(`
|
checkAndroidBpContents(`
|
||||||
// This is auto-generated. DO NOT EDIT.
|
// This is auto-generated. DO NOT EDIT.
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -120,52 +120,6 @@ prebuilt_systemserverclasspath_fragment {
|
||||||
"mysdklibrary",
|
"mysdklibrary",
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
`),
|
|
||||||
checkVersionedAndroidBpContents(`
|
|
||||||
// This is auto-generated. DO NOT EDIT.
|
|
||||||
|
|
||||||
java_sdk_library_import {
|
|
||||||
name: "mysdk_mysdklibrary@current",
|
|
||||||
sdk_member_name: "mysdklibrary",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["myapex"],
|
|
||||||
shared_library: false,
|
|
||||||
public: {
|
|
||||||
jars: ["sdk_library/public/mysdklibrary-stubs.jar"],
|
|
||||||
stub_srcs: ["sdk_library/public/mysdklibrary_stub_sources"],
|
|
||||||
current_api: "sdk_library/public/mysdklibrary.txt",
|
|
||||||
removed_api: "sdk_library/public/mysdklibrary-removed.txt",
|
|
||||||
sdk_version: "current",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
java_import {
|
|
||||||
name: "mysdk_mylib@current",
|
|
||||||
sdk_member_name: "mylib",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["myapex"],
|
|
||||||
jars: ["java_systemserver_libs/snapshot/jars/are/invalid/mylib.jar"],
|
|
||||||
permitted_packages: ["mylib"],
|
|
||||||
}
|
|
||||||
|
|
||||||
prebuilt_systemserverclasspath_fragment {
|
|
||||||
name: "mysdk_mysystemserverclasspathfragment@current",
|
|
||||||
sdk_member_name: "mysystemserverclasspathfragment",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
apex_available: ["myapex"],
|
|
||||||
contents: [
|
|
||||||
"mysdk_mylib@current",
|
|
||||||
"mysdk_mysdklibrary@current",
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
sdk_snapshot {
|
|
||||||
name: "mysdk@current",
|
|
||||||
visibility: ["//visibility:public"],
|
|
||||||
java_sdk_libs: ["mysdk_mysdklibrary@current"],
|
|
||||||
java_systemserver_libs: ["mysdk_mylib@current"],
|
|
||||||
systemserverclasspath_fragments: ["mysdk_mysystemserverclasspathfragment@current"],
|
|
||||||
}
|
|
||||||
`),
|
`),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,29 +122,18 @@ func ensureListContains(t *testing.T, result []string, expected string) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func pathsToStrings(paths android.Paths) []string {
|
|
||||||
var ret []string
|
|
||||||
for _, p := range paths {
|
|
||||||
ret = append(ret, p.String())
|
|
||||||
}
|
|
||||||
return ret
|
|
||||||
}
|
|
||||||
|
|
||||||
// Analyse the sdk build rules to extract information about what it is doing.
|
// Analyse the sdk build rules to extract information about what it is doing.
|
||||||
//
|
//
|
||||||
// e.g. find the src/dest pairs from each cp command, the various zip files
|
// e.g. find the src/dest pairs from each cp command, the various zip files
|
||||||
// generated, etc.
|
// generated, etc.
|
||||||
func getSdkSnapshotBuildInfo(t *testing.T, result *android.TestResult, sdk *sdk) *snapshotBuildInfo {
|
func getSdkSnapshotBuildInfo(t *testing.T, result *android.TestResult, sdk *sdk) *snapshotBuildInfo {
|
||||||
info := &snapshotBuildInfo{
|
info := &snapshotBuildInfo{
|
||||||
t: t,
|
t: t,
|
||||||
r: result,
|
r: result,
|
||||||
version: sdk.builderForTests.version,
|
androidBpContents: sdk.GetAndroidBpContentsForTests(),
|
||||||
androidBpContents: sdk.GetAndroidBpContentsForTests(),
|
infoContents: sdk.GetInfoContentsForTests(),
|
||||||
androidUnversionedBpContents: sdk.GetUnversionedAndroidBpContentsForTests(),
|
snapshotTestCustomizations: map[snapshotTest]*snapshotTestCustomization{},
|
||||||
androidVersionedBpContents: sdk.GetVersionedAndroidBpContentsForTests(),
|
targetBuildRelease: sdk.builderForTests.targetBuildRelease,
|
||||||
infoContents: sdk.GetInfoContentsForTests(),
|
|
||||||
snapshotTestCustomizations: map[snapshotTest]*snapshotTestCustomization{},
|
|
||||||
targetBuildRelease: sdk.builderForTests.targetBuildRelease,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
buildParams := sdk.BuildParamsForTests()
|
buildParams := sdk.BuildParamsForTests()
|
||||||
|
@ -258,10 +247,7 @@ func CheckSnapshot(t *testing.T, result *android.TestResult, name string, dir st
|
||||||
if dir != "" {
|
if dir != "" {
|
||||||
dir = filepath.Clean(dir) + "/"
|
dir = filepath.Clean(dir) + "/"
|
||||||
}
|
}
|
||||||
suffix := ""
|
suffix := "-" + soongSdkSnapshotVersionCurrent
|
||||||
if snapshotBuildInfo.version != soongSdkSnapshotVersionUnversioned {
|
|
||||||
suffix = "-" + snapshotBuildInfo.version
|
|
||||||
}
|
|
||||||
|
|
||||||
expectedZipPath := fmt.Sprintf(".intermediates/%s%s/%s/%s%s.zip", dir, name, variant, name, suffix)
|
expectedZipPath := fmt.Sprintf(".intermediates/%s%s/%s/%s%s.zip", dir, name, variant, name, suffix)
|
||||||
android.AssertStringEquals(t, "Snapshot zip file in wrong place", expectedZipPath, actual)
|
android.AssertStringEquals(t, "Snapshot zip file in wrong place", expectedZipPath, actual)
|
||||||
|
@ -345,33 +331,6 @@ func checkAndroidBpContents(expected string) snapshotBuildInfoChecker {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check that the snapshot's unversioned generated Android.bp is correct.
|
|
||||||
//
|
|
||||||
// This func should be used to check the general snapshot generation code.
|
|
||||||
//
|
|
||||||
// Both the expected and actual string are both trimmed before comparing.
|
|
||||||
func checkUnversionedAndroidBpContents(expected string) snapshotBuildInfoChecker {
|
|
||||||
return func(info *snapshotBuildInfo) {
|
|
||||||
info.t.Helper()
|
|
||||||
android.AssertTrimmedStringEquals(info.t, "unversioned Android.bp contents do not match", expected, info.androidUnversionedBpContents)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check that the snapshot's versioned generated Android.bp is correct.
|
|
||||||
//
|
|
||||||
// This func should only be used to check the version specific snapshot generation code,
|
|
||||||
// i.e. the encoding of version into module names and the generation of the _snapshot module. The
|
|
||||||
// general snapshot generation code should be checked using the checkUnversionedAndroidBpContents()
|
|
||||||
// func.
|
|
||||||
//
|
|
||||||
// Both the expected and actual string are both trimmed before comparing.
|
|
||||||
func checkVersionedAndroidBpContents(expected string) snapshotBuildInfoChecker {
|
|
||||||
return func(info *snapshotBuildInfo) {
|
|
||||||
info.t.Helper()
|
|
||||||
android.AssertTrimmedStringEquals(info.t, "versioned Android.bp contents do not match", expected, info.androidVersionedBpContents)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check that the snapshot's copy rules are correct.
|
// Check that the snapshot's copy rules are correct.
|
||||||
//
|
//
|
||||||
// The copy rules are formatted as <src> -> <dest>, one per line and then compared
|
// The copy rules are formatted as <src> -> <dest>, one per line and then compared
|
||||||
|
@ -477,20 +436,9 @@ type snapshotBuildInfo struct {
|
||||||
// The result from RunTest()
|
// The result from RunTest()
|
||||||
r *android.TestResult
|
r *android.TestResult
|
||||||
|
|
||||||
// The version of the generated snapshot.
|
|
||||||
//
|
|
||||||
// See snapshotBuilder.version for more information about this field.
|
|
||||||
version string
|
|
||||||
|
|
||||||
// The contents of the generated Android.bp file
|
// The contents of the generated Android.bp file
|
||||||
androidBpContents string
|
androidBpContents string
|
||||||
|
|
||||||
// The contents of the unversioned Android.bp file
|
|
||||||
androidUnversionedBpContents string
|
|
||||||
|
|
||||||
// The contents of the versioned Android.bp file
|
|
||||||
androidVersionedBpContents string
|
|
||||||
|
|
||||||
// The contents of the info file.
|
// The contents of the info file.
|
||||||
infoContents string
|
infoContents string
|
||||||
|
|
||||||
|
|
319
sdk/update.go
319
sdk/update.go
|
@ -35,7 +35,7 @@ import (
|
||||||
// ========================================================
|
// ========================================================
|
||||||
//
|
//
|
||||||
// SOONG_SDK_SNAPSHOT_PREFER
|
// SOONG_SDK_SNAPSHOT_PREFER
|
||||||
// By default every unversioned module in the generated snapshot has prefer: false. Building it
|
// By default every module in the generated snapshot has prefer: false. Building it
|
||||||
// with SOONG_SDK_SNAPSHOT_PREFER=true will force them to use prefer: true.
|
// with SOONG_SDK_SNAPSHOT_PREFER=true will force them to use prefer: true.
|
||||||
//
|
//
|
||||||
// SOONG_SDK_SNAPSHOT_USE_SOURCE_CONFIG_VAR
|
// SOONG_SDK_SNAPSHOT_USE_SOURCE_CONFIG_VAR
|
||||||
|
@ -69,20 +69,6 @@ import (
|
||||||
// maintainable solution has been implemented.
|
// maintainable solution has been implemented.
|
||||||
// TODO(b/174997203): Remove when no longer necessary.
|
// TODO(b/174997203): Remove when no longer necessary.
|
||||||
//
|
//
|
||||||
// SOONG_SDK_SNAPSHOT_VERSION
|
|
||||||
// This provides control over the version of the generated snapshot.
|
|
||||||
//
|
|
||||||
// SOONG_SDK_SNAPSHOT_VERSION=current will generate unversioned and versioned prebuilts and a
|
|
||||||
// versioned snapshot module. This is the default behavior. The zip file containing the
|
|
||||||
// generated snapshot will be <sdk-name>-current.zip.
|
|
||||||
//
|
|
||||||
// SOONG_SDK_SNAPSHOT_VERSION=unversioned will generate unversioned prebuilts only and the zip
|
|
||||||
// file containing the generated snapshot will be <sdk-name>.zip.
|
|
||||||
//
|
|
||||||
// SOONG_SDK_SNAPSHOT_VERSION=<number> will generate versioned prebuilts and a versioned
|
|
||||||
// snapshot module only. The zip file containing the generated snapshot will be
|
|
||||||
// <sdk-name>-<number>.zip.
|
|
||||||
//
|
|
||||||
// SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE
|
// SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE
|
||||||
// This allows the target build release (i.e. the release version of the build within which
|
// This allows the target build release (i.e. the release version of the build within which
|
||||||
// the snapshot will be used) of the snapshot to be specified. If unspecified then it defaults
|
// the snapshot will be used) of the snapshot to be specified. If unspecified then it defaults
|
||||||
|
@ -130,8 +116,7 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
soongSdkSnapshotVersionUnversioned = "unversioned"
|
soongSdkSnapshotVersionCurrent = "current"
|
||||||
soongSdkSnapshotVersionCurrent = "current"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type generatedContents struct {
|
type generatedContents struct {
|
||||||
|
@ -163,13 +148,13 @@ func (gc *generatedContents) Dedent() {
|
||||||
// IndentedPrintf will add spaces to indent the line to the appropriate level before printing the
|
// IndentedPrintf will add spaces to indent the line to the appropriate level before printing the
|
||||||
// arguments.
|
// arguments.
|
||||||
func (gc *generatedContents) IndentedPrintf(format string, args ...interface{}) {
|
func (gc *generatedContents) IndentedPrintf(format string, args ...interface{}) {
|
||||||
fmt.Fprintf(&(gc.content), strings.Repeat(" ", gc.indentLevel)+format, args...)
|
_, _ = fmt.Fprintf(&(gc.content), strings.Repeat(" ", gc.indentLevel)+format, args...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// UnindentedPrintf does not add spaces to indent the line to the appropriate level before printing
|
// UnindentedPrintf does not add spaces to indent the line to the appropriate level before printing
|
||||||
// the arguments.
|
// the arguments.
|
||||||
func (gc *generatedContents) UnindentedPrintf(format string, args ...interface{}) {
|
func (gc *generatedContents) UnindentedPrintf(format string, args ...interface{}) {
|
||||||
fmt.Fprintf(&(gc.content), format, args...)
|
_, _ = fmt.Fprintf(&(gc.content), format, args...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gf *generatedFile) build(pctx android.PackageContext, ctx android.BuilderContext, implicits android.Paths) {
|
func (gf *generatedFile) build(pctx android.PackageContext, ctx android.BuilderContext, implicits android.Paths) {
|
||||||
|
@ -321,12 +306,6 @@ const BUILD_NUMBER_FILE = "snapshot-creation-build-number.txt"
|
||||||
// <arch>/lib/
|
// <arch>/lib/
|
||||||
// libFoo.so : a stub library
|
// libFoo.so : a stub library
|
||||||
|
|
||||||
// A name that uniquely identifies a prebuilt SDK member for a version of SDK snapshot
|
|
||||||
// This isn't visible to users, so could be changed in future.
|
|
||||||
func versionedSdkMemberName(ctx android.ModuleContext, memberName string, version string) string {
|
|
||||||
return ctx.ModuleName() + "_" + memberName + string(android.SdkVersionSeparator) + version
|
|
||||||
}
|
|
||||||
|
|
||||||
// buildSnapshot is the main function in this source file. It creates rules to copy
|
// buildSnapshot is the main function in this source file. It creates rules to copy
|
||||||
// the contents (header files, stub libraries, etc) into the zip file.
|
// the contents (header files, stub libraries, etc) into the zip file.
|
||||||
func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) {
|
func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) {
|
||||||
|
@ -378,20 +357,9 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) {
|
||||||
}
|
}
|
||||||
|
|
||||||
config := ctx.Config()
|
config := ctx.Config()
|
||||||
version := config.GetenvWithDefault("SOONG_SDK_SNAPSHOT_VERSION", "current")
|
|
||||||
|
|
||||||
// Generate versioned modules in the snapshot unless an unversioned snapshot has been requested.
|
// Always add -current to the end
|
||||||
generateVersioned := version != soongSdkSnapshotVersionUnversioned
|
snapshotFileSuffix := "-current"
|
||||||
|
|
||||||
// Generate unversioned modules in the snapshot unless a numbered snapshot has been requested.
|
|
||||||
//
|
|
||||||
// Unversioned modules are not required in that case because the numbered version will be a
|
|
||||||
// finalized version of the snapshot that is intended to be kept separate from the
|
|
||||||
generateUnversioned := version == soongSdkSnapshotVersionUnversioned || version == soongSdkSnapshotVersionCurrent
|
|
||||||
snapshotFileSuffix := ""
|
|
||||||
if generateVersioned {
|
|
||||||
snapshotFileSuffix = "-" + version
|
|
||||||
}
|
|
||||||
|
|
||||||
currentBuildRelease := latestBuildRelease()
|
currentBuildRelease := latestBuildRelease()
|
||||||
targetBuildReleaseEnv := config.GetenvWithDefault("SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE", currentBuildRelease.name)
|
targetBuildReleaseEnv := config.GetenvWithDefault("SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE", currentBuildRelease.name)
|
||||||
|
@ -404,7 +372,6 @@ func (s *sdk) buildSnapshot(ctx android.ModuleContext, sdkVariants []*sdk) {
|
||||||
builder := &snapshotBuilder{
|
builder := &snapshotBuilder{
|
||||||
ctx: ctx,
|
ctx: ctx,
|
||||||
sdk: s,
|
sdk: s,
|
||||||
version: version,
|
|
||||||
snapshotDir: snapshotDir.OutputPath,
|
snapshotDir: snapshotDir.OutputPath,
|
||||||
copies: make(map[string]string),
|
copies: make(map[string]string),
|
||||||
filesToZip: []android.Path{bp.path},
|
filesToZip: []android.Path{bp.path},
|
||||||
|
@ -454,38 +421,19 @@ be unnecessary as every module in the sdk already has its own licenses property.
|
||||||
s.createMemberSnapshot(memberCtx, member, prebuiltModule.(*bpModule))
|
s.createMemberSnapshot(memberCtx, member, prebuiltModule.(*bpModule))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a transformer that will transform an unversioned module into a versioned module.
|
// Create a transformer that will transform a module by replacing any references
|
||||||
unversionedToVersionedTransformer := unversionedToVersionedTransformation{builder: builder}
|
|
||||||
|
|
||||||
// Create a transformer that will transform an unversioned module by replacing any references
|
|
||||||
// to internal members with a unique module name and setting prefer: false.
|
// to internal members with a unique module name and setting prefer: false.
|
||||||
unversionedTransformer := unversionedTransformation{
|
snapshotTransformer := snapshotTransformation{
|
||||||
builder: builder,
|
builder: builder,
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, unversioned := range builder.prebuiltOrder {
|
for _, module := range builder.prebuiltOrder {
|
||||||
// Prune any empty property sets.
|
// Prune any empty property sets.
|
||||||
unversioned = unversioned.transform(pruneEmptySetTransformer{})
|
module = module.transform(pruneEmptySetTransformer{})
|
||||||
|
|
||||||
if generateVersioned {
|
// Transform the module module to make it suitable for use in the snapshot.
|
||||||
// Copy the unversioned module so it can be modified to make it versioned.
|
module.transform(snapshotTransformer)
|
||||||
versioned := unversioned.deepCopy()
|
bpFile.AddModule(module)
|
||||||
|
|
||||||
// Transform the unversioned module into a versioned one.
|
|
||||||
versioned.transform(unversionedToVersionedTransformer)
|
|
||||||
bpFile.AddModule(versioned)
|
|
||||||
}
|
|
||||||
|
|
||||||
if generateUnversioned {
|
|
||||||
// Transform the unversioned module to make it suitable for use in the snapshot.
|
|
||||||
unversioned.transform(unversionedTransformer)
|
|
||||||
bpFile.AddModule(unversioned)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if generateVersioned {
|
|
||||||
// Add the sdk/module_exports_snapshot module to the bp file.
|
|
||||||
s.addSnapshotModule(ctx, builder, sdkVariants, memberVariantDeps)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// generate Android.bp
|
// generate Android.bp
|
||||||
|
@ -672,7 +620,7 @@ func (s *sdk) generateInfoData(ctx android.ModuleContext, memberVariantDeps []sd
|
||||||
func filterOutComponents(ctx android.ModuleContext, deps []sdkMemberVariantDep) []sdkMemberVariantDep {
|
func filterOutComponents(ctx android.ModuleContext, deps []sdkMemberVariantDep) []sdkMemberVariantDep {
|
||||||
// Collate the set of components that all the modules added to the sdk provide.
|
// Collate the set of components that all the modules added to the sdk provide.
|
||||||
components := map[string]*sdkMemberVariantDep{}
|
components := map[string]*sdkMemberVariantDep{}
|
||||||
for i, _ := range deps {
|
for i := range deps {
|
||||||
dep := &deps[i]
|
dep := &deps[i]
|
||||||
for _, c := range dep.exportedComponentsInfo.Components {
|
for _, c := range dep.exportedComponentsInfo.Components {
|
||||||
components[c] = dep
|
components[c] = dep
|
||||||
|
@ -707,81 +655,6 @@ func filterOutComponents(ctx android.ModuleContext, deps []sdkMemberVariantDep)
|
||||||
return filtered
|
return filtered
|
||||||
}
|
}
|
||||||
|
|
||||||
// addSnapshotModule adds the sdk_snapshot/module_exports_snapshot module to the builder.
|
|
||||||
func (s *sdk) addSnapshotModule(ctx android.ModuleContext, builder *snapshotBuilder, sdkVariants []*sdk, memberVariantDeps []sdkMemberVariantDep) {
|
|
||||||
bpFile := builder.bpFile
|
|
||||||
|
|
||||||
snapshotName := ctx.ModuleName() + string(android.SdkVersionSeparator) + builder.version
|
|
||||||
var snapshotModuleType string
|
|
||||||
if s.properties.Module_exports {
|
|
||||||
snapshotModuleType = "module_exports_snapshot"
|
|
||||||
} else {
|
|
||||||
snapshotModuleType = "sdk_snapshot"
|
|
||||||
}
|
|
||||||
snapshotModule := bpFile.newModule(snapshotModuleType)
|
|
||||||
snapshotModule.AddProperty("name", snapshotName)
|
|
||||||
|
|
||||||
// Make sure that the snapshot has the same visibility as the sdk.
|
|
||||||
visibility := android.EffectiveVisibilityRules(ctx, s).Strings()
|
|
||||||
if len(visibility) != 0 {
|
|
||||||
snapshotModule.AddProperty("visibility", visibility)
|
|
||||||
}
|
|
||||||
|
|
||||||
addHostDeviceSupportedProperties(s.ModuleBase.DeviceSupported(), s.ModuleBase.HostSupported(), snapshotModule)
|
|
||||||
|
|
||||||
combinedPropertiesList := s.collateSnapshotModuleInfo(ctx, sdkVariants, memberVariantDeps)
|
|
||||||
commonCombinedProperties := s.optimizeSnapshotModuleProperties(ctx, combinedPropertiesList)
|
|
||||||
|
|
||||||
s.addSnapshotPropertiesToPropertySet(builder, snapshotModule, commonCombinedProperties)
|
|
||||||
|
|
||||||
targetPropertySet := snapshotModule.AddPropertySet("target")
|
|
||||||
|
|
||||||
// Create a mapping from osType to combined properties.
|
|
||||||
osTypeToCombinedProperties := map[android.OsType]*combinedSnapshotModuleProperties{}
|
|
||||||
for _, combined := range combinedPropertiesList {
|
|
||||||
osTypeToCombinedProperties[combined.sdkVariant.Os()] = combined
|
|
||||||
}
|
|
||||||
|
|
||||||
// Iterate over the os types in a fixed order.
|
|
||||||
for _, osType := range s.getPossibleOsTypes() {
|
|
||||||
if combined, ok := osTypeToCombinedProperties[osType]; ok {
|
|
||||||
osPropertySet := targetPropertySet.AddPropertySet(osType.Name)
|
|
||||||
|
|
||||||
s.addSnapshotPropertiesToPropertySet(builder, osPropertySet, combined)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// If host is supported and any member is host OS dependent then disable host
|
|
||||||
// by default, so that we can enable each host OS variant explicitly. This
|
|
||||||
// avoids problems with implicitly enabled OS variants when the snapshot is
|
|
||||||
// used, which might be different from this run (e.g. different build OS).
|
|
||||||
if s.HostSupported() {
|
|
||||||
var supportedHostTargets []string
|
|
||||||
for _, memberVariantDep := range memberVariantDeps {
|
|
||||||
if memberVariantDep.memberType.IsHostOsDependent() && memberVariantDep.variant.Target().Os.Class == android.Host {
|
|
||||||
targetString := memberVariantDep.variant.Target().Os.String() + "_" + memberVariantDep.variant.Target().Arch.ArchType.String()
|
|
||||||
if !android.InList(targetString, supportedHostTargets) {
|
|
||||||
supportedHostTargets = append(supportedHostTargets, targetString)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if len(supportedHostTargets) > 0 {
|
|
||||||
hostPropertySet := targetPropertySet.AddPropertySet("host")
|
|
||||||
hostPropertySet.AddProperty("enabled", false)
|
|
||||||
}
|
|
||||||
// Enable the <os>_<arch> variant explicitly when we've disabled it by default on host.
|
|
||||||
for _, hostTarget := range supportedHostTargets {
|
|
||||||
propertySet := targetPropertySet.AddPropertySet(hostTarget)
|
|
||||||
propertySet.AddProperty("enabled", true)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Prune any empty property sets.
|
|
||||||
snapshotModule.transform(pruneEmptySetTransformer{})
|
|
||||||
|
|
||||||
bpFile.AddModule(snapshotModule)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check the syntax of the generated Android.bp file contents and if they are
|
// Check the syntax of the generated Android.bp file contents and if they are
|
||||||
// invalid then log an error with the contents (tagged with line numbers) and the
|
// invalid then log an error with the contents (tagged with line numbers) and the
|
||||||
// errors that were found so that it is easy to see where the problem lies.
|
// errors that were found so that it is easy to see where the problem lies.
|
||||||
|
@ -918,92 +791,34 @@ func (s *sdk) optimizeSnapshotModuleProperties(ctx android.ModuleContext, list [
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *sdk) addSnapshotPropertiesToPropertySet(builder *snapshotBuilder, propertySet android.BpPropertySet, combined *combinedSnapshotModuleProperties) {
|
|
||||||
staticProperties := combined.staticProperties
|
|
||||||
multilib := staticProperties.Compile_multilib
|
|
||||||
if multilib != "" && multilib != "both" {
|
|
||||||
// Compile_multilib defaults to both so only needs to be set when it's specified and not both.
|
|
||||||
propertySet.AddProperty("compile_multilib", multilib)
|
|
||||||
}
|
|
||||||
|
|
||||||
dynamicMemberTypeListProperties := combined.dynamicProperties
|
|
||||||
for _, memberListProperty := range s.memberTypeListProperties() {
|
|
||||||
if memberListProperty.getter == nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
names := memberListProperty.getter(dynamicMemberTypeListProperties)
|
|
||||||
if len(names) > 0 {
|
|
||||||
propertySet.AddProperty(memberListProperty.propertyName(), builder.versionedSdkMemberNames(names, false))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
type propertyTag struct {
|
type propertyTag struct {
|
||||||
name string
|
name string
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ android.BpPropertyTag = propertyTag{}
|
var _ android.BpPropertyTag = propertyTag{}
|
||||||
|
|
||||||
// A BpPropertyTag to add to a property that contains references to other sdk members.
|
// BpPropertyTag instances to add to a property that contains references to other sdk members.
|
||||||
//
|
//
|
||||||
// This will cause the references to be rewritten to a versioned reference in the version
|
// These will ensure that the referenced modules are available, if required.
|
||||||
// specific instance of a snapshot module.
|
|
||||||
var requiredSdkMemberReferencePropertyTag = propertyTag{"requiredSdkMemberReferencePropertyTag"}
|
var requiredSdkMemberReferencePropertyTag = propertyTag{"requiredSdkMemberReferencePropertyTag"}
|
||||||
var optionalSdkMemberReferencePropertyTag = propertyTag{"optionalSdkMemberReferencePropertyTag"}
|
var optionalSdkMemberReferencePropertyTag = propertyTag{"optionalSdkMemberReferencePropertyTag"}
|
||||||
|
|
||||||
// A BpPropertyTag that indicates the property should only be present in the versioned
|
type snapshotTransformation struct {
|
||||||
// module.
|
|
||||||
//
|
|
||||||
// This will cause the property to be removed from the unversioned instance of a
|
|
||||||
// snapshot module.
|
|
||||||
var sdkVersionedOnlyPropertyTag = propertyTag{"sdkVersionedOnlyPropertyTag"}
|
|
||||||
|
|
||||||
type unversionedToVersionedTransformation struct {
|
|
||||||
identityTransformation
|
identityTransformation
|
||||||
builder *snapshotBuilder
|
builder *snapshotBuilder
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t unversionedToVersionedTransformation) transformModule(module *bpModule) *bpModule {
|
func (t snapshotTransformation) transformModule(module *bpModule) *bpModule {
|
||||||
// Use a versioned name for the module but remember the original name for the
|
|
||||||
// snapshot.
|
|
||||||
name := module.Name()
|
|
||||||
module.setProperty("name", t.builder.versionedSdkMemberName(name, true))
|
|
||||||
module.insertAfter("name", "sdk_member_name", name)
|
|
||||||
// Remove the prefer property if present as versioned modules never need marking with prefer.
|
|
||||||
module.removeProperty("prefer")
|
|
||||||
// Ditto for use_source_config_var
|
|
||||||
module.removeProperty("use_source_config_var")
|
|
||||||
return module
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t unversionedToVersionedTransformation) transformProperty(name string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) {
|
|
||||||
if tag == requiredSdkMemberReferencePropertyTag || tag == optionalSdkMemberReferencePropertyTag {
|
|
||||||
required := tag == requiredSdkMemberReferencePropertyTag
|
|
||||||
return t.builder.versionedSdkMemberNames(value.([]string), required), tag
|
|
||||||
} else {
|
|
||||||
return value, tag
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
type unversionedTransformation struct {
|
|
||||||
identityTransformation
|
|
||||||
builder *snapshotBuilder
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t unversionedTransformation) transformModule(module *bpModule) *bpModule {
|
|
||||||
// If the module is an internal member then use a unique name for it.
|
// If the module is an internal member then use a unique name for it.
|
||||||
name := module.Name()
|
name := module.Name()
|
||||||
module.setProperty("name", t.builder.unversionedSdkMemberName(name, true))
|
module.setProperty("name", t.builder.snapshotSdkMemberName(name, true))
|
||||||
return module
|
return module
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t unversionedTransformation) transformProperty(name string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) {
|
func (t snapshotTransformation) transformProperty(_ string, value interface{}, tag android.BpPropertyTag) (interface{}, android.BpPropertyTag) {
|
||||||
if tag == requiredSdkMemberReferencePropertyTag || tag == optionalSdkMemberReferencePropertyTag {
|
if tag == requiredSdkMemberReferencePropertyTag || tag == optionalSdkMemberReferencePropertyTag {
|
||||||
required := tag == requiredSdkMemberReferencePropertyTag
|
required := tag == requiredSdkMemberReferencePropertyTag
|
||||||
return t.builder.unversionedSdkMemberNames(value.([]string), required), tag
|
return t.builder.snapshotSdkMemberNames(value.([]string), required), tag
|
||||||
} else if tag == sdkVersionedOnlyPropertyTag {
|
|
||||||
// The property is not allowed in the unversioned module so remove it.
|
|
||||||
return nil, nil
|
|
||||||
} else {
|
} else {
|
||||||
return value, tag
|
return value, tag
|
||||||
}
|
}
|
||||||
|
@ -1015,7 +830,7 @@ type pruneEmptySetTransformer struct {
|
||||||
|
|
||||||
var _ bpTransformer = (*pruneEmptySetTransformer)(nil)
|
var _ bpTransformer = (*pruneEmptySetTransformer)(nil)
|
||||||
|
|
||||||
func (t pruneEmptySetTransformer) transformPropertySetAfterContents(name string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) {
|
func (t pruneEmptySetTransformer) transformPropertySetAfterContents(_ string, propertySet *bpPropertySet, tag android.BpPropertyTag) (*bpPropertySet, android.BpPropertyTag) {
|
||||||
if len(propertySet.properties) == 0 {
|
if len(propertySet.properties) == 0 {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
} else {
|
} else {
|
||||||
|
@ -1024,20 +839,12 @@ func (t pruneEmptySetTransformer) transformPropertySetAfterContents(name string,
|
||||||
}
|
}
|
||||||
|
|
||||||
func generateBpContents(contents *generatedContents, bpFile *bpFile) {
|
func generateBpContents(contents *generatedContents, bpFile *bpFile) {
|
||||||
generateFilteredBpContents(contents, bpFile, func(*bpModule) bool {
|
|
||||||
return true
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func generateFilteredBpContents(contents *generatedContents, bpFile *bpFile, moduleFilter func(module *bpModule) bool) {
|
|
||||||
contents.IndentedPrintf("// This is auto-generated. DO NOT EDIT.\n")
|
contents.IndentedPrintf("// This is auto-generated. DO NOT EDIT.\n")
|
||||||
for _, bpModule := range bpFile.order {
|
for _, bpModule := range bpFile.order {
|
||||||
if moduleFilter(bpModule) {
|
contents.IndentedPrintf("\n")
|
||||||
contents.IndentedPrintf("\n")
|
contents.IndentedPrintf("%s {\n", bpModule.moduleType)
|
||||||
contents.IndentedPrintf("%s {\n", bpModule.moduleType)
|
outputPropertySet(contents, bpModule.bpPropertySet)
|
||||||
outputPropertySet(contents, bpModule.bpPropertySet)
|
contents.IndentedPrintf("}\n")
|
||||||
contents.IndentedPrintf("}\n")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1173,36 +980,10 @@ func (s *sdk) GetInfoContentsForTests() string {
|
||||||
return s.builderForTests.infoContents
|
return s.builderForTests.infoContents
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *sdk) GetUnversionedAndroidBpContentsForTests() string {
|
|
||||||
contents := &generatedContents{}
|
|
||||||
generateFilteredBpContents(contents, s.builderForTests.bpFile, func(module *bpModule) bool {
|
|
||||||
name := module.Name()
|
|
||||||
// Include modules that are either unversioned or have no name.
|
|
||||||
return !strings.Contains(name, "@")
|
|
||||||
})
|
|
||||||
return contents.content.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *sdk) GetVersionedAndroidBpContentsForTests() string {
|
|
||||||
contents := &generatedContents{}
|
|
||||||
generateFilteredBpContents(contents, s.builderForTests.bpFile, func(module *bpModule) bool {
|
|
||||||
name := module.Name()
|
|
||||||
// Include modules that are either versioned or have no name.
|
|
||||||
return name == "" || strings.Contains(name, "@")
|
|
||||||
})
|
|
||||||
return contents.content.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
type snapshotBuilder struct {
|
type snapshotBuilder struct {
|
||||||
ctx android.ModuleContext
|
ctx android.ModuleContext
|
||||||
sdk *sdk
|
sdk *sdk
|
||||||
|
|
||||||
// The version of the generated snapshot.
|
|
||||||
//
|
|
||||||
// See the documentation of SOONG_SDK_SNAPSHOT_VERSION above for details of the valid values of
|
|
||||||
// this field.
|
|
||||||
version string
|
|
||||||
|
|
||||||
snapshotDir android.OutputPath
|
snapshotDir android.OutputPath
|
||||||
bpFile *bpFile
|
bpFile *bpFile
|
||||||
|
|
||||||
|
@ -1356,13 +1137,6 @@ func (s *snapshotBuilder) AddPrebuiltModule(member android.SdkMember, moduleType
|
||||||
|
|
||||||
addHostDeviceSupportedProperties(deviceSupported, hostSupported, m)
|
addHostDeviceSupportedProperties(deviceSupported, hostSupported, m)
|
||||||
|
|
||||||
// Disable installation in the versioned module of those modules that are ever installable.
|
|
||||||
if installable, ok := variant.(interface{ EverInstallable() bool }); ok {
|
|
||||||
if installable.EverInstallable() {
|
|
||||||
m.AddPropertyWithTag("installable", false, sdkVersionedOnlyPropertyTag)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
s.prebuiltModules[name] = m
|
s.prebuiltModules[name] = m
|
||||||
s.prebuiltOrder = append(s.prebuiltOrder, m)
|
s.prebuiltOrder = append(s.prebuiltOrder, m)
|
||||||
return m
|
return m
|
||||||
|
@ -1395,45 +1169,28 @@ func (s *snapshotBuilder) OptionalSdkMemberReferencePropertyTag() android.BpProp
|
||||||
return optionalSdkMemberReferencePropertyTag
|
return optionalSdkMemberReferencePropertyTag
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get a versioned name appropriate for the SDK snapshot version being taken.
|
// Get a name for sdk snapshot member. If the member is private then generate a snapshot specific
|
||||||
func (s *snapshotBuilder) versionedSdkMemberName(unversionedName string, required bool) string {
|
// name. As part of the processing this checks to make sure that any required members are part of
|
||||||
if _, ok := s.allMembersByName[unversionedName]; !ok {
|
// the snapshot.
|
||||||
|
func (s *snapshotBuilder) snapshotSdkMemberName(name string, required bool) string {
|
||||||
|
if _, ok := s.allMembersByName[name]; !ok {
|
||||||
if required {
|
if required {
|
||||||
s.ctx.ModuleErrorf("Required member reference %s is not a member of the sdk", unversionedName)
|
s.ctx.ModuleErrorf("Required member reference %s is not a member of the sdk", name)
|
||||||
}
|
}
|
||||||
return unversionedName
|
return name
|
||||||
}
|
|
||||||
return versionedSdkMemberName(s.ctx, unversionedName, s.version)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *snapshotBuilder) versionedSdkMemberNames(members []string, required bool) []string {
|
|
||||||
var references []string = nil
|
|
||||||
for _, m := range members {
|
|
||||||
references = append(references, s.versionedSdkMemberName(m, required))
|
|
||||||
}
|
|
||||||
return references
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get an internal name unique to the sdk.
|
|
||||||
func (s *snapshotBuilder) unversionedSdkMemberName(unversionedName string, required bool) string {
|
|
||||||
if _, ok := s.allMembersByName[unversionedName]; !ok {
|
|
||||||
if required {
|
|
||||||
s.ctx.ModuleErrorf("Required member reference %s is not a member of the sdk", unversionedName)
|
|
||||||
}
|
|
||||||
return unversionedName
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if s.isInternalMember(unversionedName) {
|
if s.isInternalMember(name) {
|
||||||
return s.ctx.ModuleName() + "_" + unversionedName
|
return s.ctx.ModuleName() + "_" + name
|
||||||
} else {
|
} else {
|
||||||
return unversionedName
|
return name
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *snapshotBuilder) unversionedSdkMemberNames(members []string, required bool) []string {
|
func (s *snapshotBuilder) snapshotSdkMemberNames(members []string, required bool) []string {
|
||||||
var references []string = nil
|
var references []string = nil
|
||||||
for _, m := range members {
|
for _, m := range members {
|
||||||
references = append(references, s.unversionedSdkMemberName(m, required))
|
references = append(references, s.snapshotSdkMemberName(m, required))
|
||||||
}
|
}
|
||||||
return references
|
return references
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue