Propagate permitted packages to sdk snapshot
Previously, permitted_packages were not copied to the sdk snapshot. This change corrects that. Bug: 193763688 Test: m nothing - Added unit tests, which all failed and then fixed the tests. Merged-In: I4560987f746f78c0ae706058195b6db4bea438aa Change-Id: I4560987f746f78c0ae706058195b6db4bea438aa (cherry picked from commit 869de147abdb2c86a91cced4fda7d27746c52af4)
This commit is contained in:
parent
fa20b187dc
commit
7b3e10a1c2
14
java/java.go
14
java/java.go
|
@ -581,6 +581,10 @@ type librarySdkMemberProperties struct {
|
||||||
|
|
||||||
JarToExport android.Path `android:"arch_variant"`
|
JarToExport android.Path `android:"arch_variant"`
|
||||||
AidlIncludeDirs android.Paths
|
AidlIncludeDirs android.Paths
|
||||||
|
|
||||||
|
// The list of permitted packages that need to be passed to the prebuilts as they are used to
|
||||||
|
// create the updatable-bcp-packages.txt file.
|
||||||
|
PermittedPackages []string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *librarySdkMemberProperties) PopulateFromVariant(ctx android.SdkMemberContext, variant android.Module) {
|
func (p *librarySdkMemberProperties) PopulateFromVariant(ctx android.SdkMemberContext, variant android.Module) {
|
||||||
|
@ -589,6 +593,8 @@ func (p *librarySdkMemberProperties) PopulateFromVariant(ctx android.SdkMemberCo
|
||||||
p.JarToExport = ctx.MemberType().(*librarySdkMemberType).jarToExportGetter(ctx, j)
|
p.JarToExport = ctx.MemberType().(*librarySdkMemberType).jarToExportGetter(ctx, j)
|
||||||
|
|
||||||
p.AidlIncludeDirs = j.AidlIncludeDirs()
|
p.AidlIncludeDirs = j.AidlIncludeDirs()
|
||||||
|
|
||||||
|
p.PermittedPackages = j.PermittedPackagesForUpdatableBootJars()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *librarySdkMemberProperties) AddToPropertySet(ctx android.SdkMemberContext, propertySet android.BpPropertySet) {
|
func (p *librarySdkMemberProperties) AddToPropertySet(ctx android.SdkMemberContext, propertySet android.BpPropertySet) {
|
||||||
|
@ -607,6 +613,10 @@ func (p *librarySdkMemberProperties) AddToPropertySet(ctx android.SdkMemberConte
|
||||||
propertySet.AddProperty("jars", []string{snapshotRelativeJavaLibPath})
|
propertySet.AddProperty("jars", []string{snapshotRelativeJavaLibPath})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(p.PermittedPackages) > 0 {
|
||||||
|
propertySet.AddProperty("permitted_packages", p.PermittedPackages)
|
||||||
|
}
|
||||||
|
|
||||||
// Do not copy anything else to the snapshot.
|
// Do not copy anything else to the snapshot.
|
||||||
if memberType.onlyCopyJarToSnapshot {
|
if memberType.onlyCopyJarToSnapshot {
|
||||||
return
|
return
|
||||||
|
@ -1127,6 +1137,10 @@ type ImportProperties struct {
|
||||||
|
|
||||||
Installable *bool
|
Installable *bool
|
||||||
|
|
||||||
|
// If not empty, classes are restricted to the specified packages and their sub-packages.
|
||||||
|
// This information is used to generate the updatable-bcp-packages.txt file.
|
||||||
|
Permitted_packages []string
|
||||||
|
|
||||||
// List of shared java libs that this module has dependencies to
|
// List of shared java libs that this module has dependencies to
|
||||||
Libs []string
|
Libs []string
|
||||||
|
|
||||||
|
|
|
@ -1893,6 +1893,10 @@ type sdkLibraryImportProperties struct {
|
||||||
|
|
||||||
// If set to true, compile dex files for the stubs. Defaults to false.
|
// If set to true, compile dex files for the stubs. Defaults to false.
|
||||||
Compile_dex *bool
|
Compile_dex *bool
|
||||||
|
|
||||||
|
// If not empty, classes are restricted to the specified packages and their sub-packages.
|
||||||
|
// This information is used to generate the updatable-bcp-packages.txt file.
|
||||||
|
Permitted_packages []string
|
||||||
}
|
}
|
||||||
|
|
||||||
type SdkLibraryImport struct {
|
type SdkLibraryImport struct {
|
||||||
|
@ -2506,6 +2510,8 @@ type sdkLibrarySdkMemberProperties struct {
|
||||||
|
|
||||||
// The paths to the doctag files to add to the prebuilt.
|
// The paths to the doctag files to add to the prebuilt.
|
||||||
Doctag_paths android.Paths
|
Doctag_paths android.Paths
|
||||||
|
|
||||||
|
Permitted_packages []string
|
||||||
}
|
}
|
||||||
|
|
||||||
type scopeProperties struct {
|
type scopeProperties struct {
|
||||||
|
@ -2546,6 +2552,7 @@ func (s *sdkLibrarySdkMemberProperties) PopulateFromVariant(ctx android.SdkMembe
|
||||||
s.Shared_library = proptools.BoolPtr(sdk.sharedLibrary())
|
s.Shared_library = proptools.BoolPtr(sdk.sharedLibrary())
|
||||||
s.Compile_dex = sdk.dexProperties.Compile_dex
|
s.Compile_dex = sdk.dexProperties.Compile_dex
|
||||||
s.Doctag_paths = sdk.doctagPaths
|
s.Doctag_paths = sdk.doctagPaths
|
||||||
|
s.Permitted_packages = sdk.PermittedPackagesForUpdatableBootJars()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *sdkLibrarySdkMemberProperties) AddToPropertySet(ctx android.SdkMemberContext, propertySet android.BpPropertySet) {
|
func (s *sdkLibrarySdkMemberProperties) AddToPropertySet(ctx android.SdkMemberContext, propertySet android.BpPropertySet) {
|
||||||
|
@ -2558,6 +2565,9 @@ func (s *sdkLibrarySdkMemberProperties) AddToPropertySet(ctx android.SdkMemberCo
|
||||||
if s.Compile_dex != nil {
|
if s.Compile_dex != nil {
|
||||||
propertySet.AddProperty("compile_dex", *s.Compile_dex)
|
propertySet.AddProperty("compile_dex", *s.Compile_dex)
|
||||||
}
|
}
|
||||||
|
if len(s.Permitted_packages) > 0 {
|
||||||
|
propertySet.AddProperty("permitted_packages", s.Permitted_packages)
|
||||||
|
}
|
||||||
|
|
||||||
for _, apiScope := range allApiScopes {
|
for _, apiScope := range allApiScopes {
|
||||||
if properties, ok := s.Scopes[apiScope]; ok {
|
if properties, ok := s.Scopes[apiScope]; ok {
|
||||||
|
|
|
@ -346,6 +346,7 @@ java_import {
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["myapex"],
|
apex_available: ["myapex"],
|
||||||
jars: ["java/mybootlib.jar"],
|
jars: ["java/mybootlib.jar"],
|
||||||
|
permitted_packages: ["mybootlib"],
|
||||||
}
|
}
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -355,6 +356,7 @@ java_sdk_library_import {
|
||||||
apex_available: ["myapex"],
|
apex_available: ["myapex"],
|
||||||
shared_library: true,
|
shared_library: true,
|
||||||
compile_dex: true,
|
compile_dex: true,
|
||||||
|
permitted_packages: ["myothersdklibrary"],
|
||||||
public: {
|
public: {
|
||||||
jars: ["sdk_library/public/myothersdklibrary-stubs.jar"],
|
jars: ["sdk_library/public/myothersdklibrary-stubs.jar"],
|
||||||
stub_srcs: ["sdk_library/public/myothersdklibrary_stub_sources"],
|
stub_srcs: ["sdk_library/public/myothersdklibrary_stub_sources"],
|
||||||
|
@ -428,6 +430,7 @@ java_import {
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["myapex"],
|
apex_available: ["myapex"],
|
||||||
jars: ["java/mybootlib.jar"],
|
jars: ["java/mybootlib.jar"],
|
||||||
|
permitted_packages: ["mybootlib"],
|
||||||
}
|
}
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -437,6 +440,7 @@ java_sdk_library_import {
|
||||||
apex_available: ["myapex"],
|
apex_available: ["myapex"],
|
||||||
shared_library: true,
|
shared_library: true,
|
||||||
compile_dex: true,
|
compile_dex: true,
|
||||||
|
permitted_packages: ["myothersdklibrary"],
|
||||||
public: {
|
public: {
|
||||||
jars: ["sdk_library/public/myothersdklibrary-stubs.jar"],
|
jars: ["sdk_library/public/myothersdklibrary-stubs.jar"],
|
||||||
stub_srcs: ["sdk_library/public/myothersdklibrary_stub_sources"],
|
stub_srcs: ["sdk_library/public/myothersdklibrary_stub_sources"],
|
||||||
|
@ -677,6 +681,7 @@ func TestSnapshotWithBootclasspathFragment_HiddenAPI(t *testing.T) {
|
||||||
srcs: ["Test.java"],
|
srcs: ["Test.java"],
|
||||||
compile_dex: true,
|
compile_dex: true,
|
||||||
public: {enabled: true},
|
public: {enabled: true},
|
||||||
|
permitted_packages: ["mysdklibrary"],
|
||||||
}
|
}
|
||||||
`),
|
`),
|
||||||
).RunTest(t)
|
).RunTest(t)
|
||||||
|
@ -720,6 +725,7 @@ java_import {
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["myapex"],
|
apex_available: ["myapex"],
|
||||||
jars: ["java/mybootlib.jar"],
|
jars: ["java/mybootlib.jar"],
|
||||||
|
permitted_packages: ["mybootlib"],
|
||||||
}
|
}
|
||||||
|
|
||||||
java_sdk_library_import {
|
java_sdk_library_import {
|
||||||
|
@ -729,6 +735,7 @@ java_sdk_library_import {
|
||||||
apex_available: ["//apex_available:platform"],
|
apex_available: ["//apex_available:platform"],
|
||||||
shared_library: true,
|
shared_library: true,
|
||||||
compile_dex: true,
|
compile_dex: true,
|
||||||
|
permitted_packages: ["mysdklibrary"],
|
||||||
public: {
|
public: {
|
||||||
jars: ["sdk_library/public/mysdklibrary-stubs.jar"],
|
jars: ["sdk_library/public/mysdklibrary-stubs.jar"],
|
||||||
stub_srcs: ["sdk_library/public/mysdklibrary_stub_sources"],
|
stub_srcs: ["sdk_library/public/mysdklibrary_stub_sources"],
|
||||||
|
|
|
@ -175,6 +175,7 @@ func TestSnapshotWithJavaHeaderLibrary(t *testing.T) {
|
||||||
sdk_version: "none",
|
sdk_version: "none",
|
||||||
compile_dex: true,
|
compile_dex: true,
|
||||||
host_supported: true,
|
host_supported: true,
|
||||||
|
permitted_packages: ["pkg.myjavalib"],
|
||||||
}
|
}
|
||||||
`)
|
`)
|
||||||
|
|
||||||
|
@ -188,6 +189,7 @@ java_import {
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["//apex_available:platform"],
|
apex_available: ["//apex_available:platform"],
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java/myjavalib.jar"],
|
||||||
|
permitted_packages: ["pkg.myjavalib"],
|
||||||
}
|
}
|
||||||
`),
|
`),
|
||||||
checkVersionedAndroidBpContents(`
|
checkVersionedAndroidBpContents(`
|
||||||
|
@ -199,6 +201,7 @@ java_import {
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["//apex_available:platform"],
|
apex_available: ["//apex_available:platform"],
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java/myjavalib.jar"],
|
||||||
|
permitted_packages: ["pkg.myjavalib"],
|
||||||
}
|
}
|
||||||
|
|
||||||
sdk_snapshot {
|
sdk_snapshot {
|
||||||
|
@ -437,6 +440,7 @@ func TestSnapshotWithJavaBootLibrary(t *testing.T) {
|
||||||
system_modules: "none",
|
system_modules: "none",
|
||||||
sdk_version: "none",
|
sdk_version: "none",
|
||||||
compile_dex: true,
|
compile_dex: true,
|
||||||
|
permitted_packages: ["pkg.myjavalib"],
|
||||||
}
|
}
|
||||||
`)
|
`)
|
||||||
|
|
||||||
|
@ -450,6 +454,7 @@ java_import {
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["//apex_available:platform"],
|
apex_available: ["//apex_available:platform"],
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java/myjavalib.jar"],
|
||||||
|
permitted_packages: ["pkg.myjavalib"],
|
||||||
}
|
}
|
||||||
`),
|
`),
|
||||||
checkVersionedAndroidBpContents(`
|
checkVersionedAndroidBpContents(`
|
||||||
|
@ -461,6 +466,7 @@ java_import {
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["//apex_available:platform"],
|
apex_available: ["//apex_available:platform"],
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java/myjavalib.jar"],
|
||||||
|
permitted_packages: ["pkg.myjavalib"],
|
||||||
}
|
}
|
||||||
|
|
||||||
module_exports_snapshot {
|
module_exports_snapshot {
|
||||||
|
@ -1045,6 +1051,7 @@ func TestSnapshotWithJavaSdkLibrary(t *testing.T) {
|
||||||
shared_library: false,
|
shared_library: false,
|
||||||
stubs_library_visibility: ["//other"],
|
stubs_library_visibility: ["//other"],
|
||||||
stubs_source_visibility: ["//another"],
|
stubs_source_visibility: ["//another"],
|
||||||
|
permitted_packages: ["pkg.myjavalib"],
|
||||||
}
|
}
|
||||||
`)
|
`)
|
||||||
|
|
||||||
|
@ -1058,6 +1065,7 @@ java_sdk_library_import {
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["//apex_available:anyapex"],
|
apex_available: ["//apex_available:anyapex"],
|
||||||
shared_library: false,
|
shared_library: false,
|
||||||
|
permitted_packages: ["pkg.myjavalib"],
|
||||||
public: {
|
public: {
|
||||||
jars: ["sdk_library/public/myjavalib-stubs.jar"],
|
jars: ["sdk_library/public/myjavalib-stubs.jar"],
|
||||||
stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
|
stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
|
||||||
|
@ -1090,6 +1098,7 @@ java_sdk_library_import {
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["//apex_available:anyapex"],
|
apex_available: ["//apex_available:anyapex"],
|
||||||
shared_library: false,
|
shared_library: false,
|
||||||
|
permitted_packages: ["pkg.myjavalib"],
|
||||||
public: {
|
public: {
|
||||||
jars: ["sdk_library/public/myjavalib-stubs.jar"],
|
jars: ["sdk_library/public/myjavalib-stubs.jar"],
|
||||||
stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
|
stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
|
||||||
|
|
Loading…
Reference in New Issue