From d99d997238b5b3a0bed1e859ef7bdd6fd6109340 Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Tue, 29 Sep 2020 16:00:55 +0100 Subject: [PATCH] Explicitly specify visibility in sdk/module_exports snapshot This change ensures that each prebuilt in a snapshot explicitly specifies its visibility even when that visibility is the current default. This is done for two reasons: 1. It simplifies a follow up change that adds visibility rules to an existing set of rules. 2. It ensures that the snapshots are independent of the current Soong default visibility. The latter is important because we intend to switch from modules being visible to everyone by default (i.e. //visibility:public) to only being visible to modules in the same package (i.e. //visibility:private). By making the snapshots of modules that do not specify any visibility explicitly specify that they are "//visibility:public" it ensures that the snapshots will not need to be changed when the default changes. Bug: 168301990 Test: m nothing Change-Id: Ia034f4a1e5124c17f46d73b0e9a6c5f2a251038e --- android/visibility.go | 19 +++++++++-- sdk/cc_sdk_test.go | 79 +++++++++++++++++++++++++++++++++++++++++++ sdk/exports_test.go | 3 ++ sdk/java_sdk_test.go | 69 +++++++++++++++++++++++++++++++++++++ 4 files changed, 167 insertions(+), 3 deletions(-) diff --git a/android/visibility.go b/android/visibility.go index 68da1c475..38f80afa5 100644 --- a/android/visibility.go +++ b/android/visibility.go @@ -441,12 +441,19 @@ func visibilityRuleEnforcer(ctx TopDownMutatorContext) { } rule := effectiveVisibilityRules(ctx.Config(), depQualified) - if rule != nil && !rule.matches(qualified) { + if !rule.matches(qualified) { ctx.ModuleErrorf("depends on %s which is not visible to this module", depQualified) } }) } +// Default visibility is public. +var defaultVisibility = compositeRule{publicRule{}} + +// Return the effective visibility rules. +// +// If no rules have been specified this will return the default visibility rule +// which is currently //visibility:public. func effectiveVisibilityRules(config Config, qualified qualifiedModuleName) compositeRule { moduleToVisibilityRule := moduleToVisibilityRuleMap(config) value, ok := moduleToVisibilityRule.Load(qualified) @@ -456,6 +463,12 @@ func effectiveVisibilityRules(config Config, qualified qualifiedModuleName) comp } else { rule = packageDefaultVisibility(config, qualified) } + + // If no rule is specified then return the default visibility rule to avoid + // every caller having to treat nil as public. + if rule == nil { + rule = defaultVisibility + } return rule } @@ -499,7 +512,7 @@ func EffectiveVisibilityRules(ctx BaseModuleContext, module Module) []string { // Modules are implicitly visible to other modules in the same package, // without checking the visibility rules. Here we need to add that visibility // explicitly. - if rule != nil && !rule.matches(qualified) { + if !rule.matches(qualified) { if len(rule) == 1 { if _, ok := rule[0].(privateRule); ok { // If the rule is //visibility:private we can't append another @@ -508,7 +521,7 @@ func EffectiveVisibilityRules(ctx BaseModuleContext, module Module) []string { // modules are implicitly visible within the package we get the same // result without any rule at all, so just make it an empty list to be // appended below. - rule = compositeRule{} + rule = nil } } rule = append(rule, packageRule{dir}) diff --git a/sdk/cc_sdk_test.go b/sdk/cc_sdk_test.go index 17a6d86e2..c214e75c4 100644 --- a/sdk/cc_sdk_test.go +++ b/sdk/cc_sdk_test.go @@ -108,6 +108,7 @@ func TestSdkCompileMultilibOverride(t *testing.T) { cc_prebuilt_library_shared { name: "mysdk_sdkmember@current", sdk_member_name: "sdkmember", + visibility: ["//visibility:public"], host_supported: true, installable: false, stl: "none", @@ -131,6 +132,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "sdkmember", prefer: false, + visibility: ["//visibility:public"], host_supported: true, stl: "none", compile_multilib: "64", @@ -152,6 +154,7 @@ cc_prebuilt_library_shared { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], host_supported: true, native_shared_libs: ["mysdk_sdkmember@current"], compile_multilib: "64", @@ -353,6 +356,7 @@ func TestSnapshotWithObject(t *testing.T) { cc_prebuilt_object { name: "mysdk_crtobj@current", sdk_member_name: "crtobj", + visibility: ["//visibility:public"], stl: "none", compile_multilib: "both", sanitize: { @@ -371,6 +375,7 @@ cc_prebuilt_object { cc_prebuilt_object { name: "crtobj", prefer: false, + visibility: ["//visibility:public"], stl: "none", compile_multilib: "both", sanitize: { @@ -388,6 +393,7 @@ cc_prebuilt_object { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], native_objects: ["mysdk_crtobj@current"], } `), @@ -478,6 +484,7 @@ func TestSnapshotWithCcSharedLibraryCommonProperties(t *testing.T) { cc_prebuilt_library_shared { name: "mysdk_mynativelib@current", sdk_member_name: "mynativelib", + visibility: ["//visibility:public"], installable: false, stl: "none", compile_multilib: "both", @@ -509,6 +516,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "mynativelib", prefer: false, + visibility: ["//visibility:public"], stl: "none", compile_multilib: "both", export_include_dirs: ["include/include"], @@ -538,6 +546,7 @@ cc_prebuilt_library_shared { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], native_shared_libs: ["mysdk_mynativelib@current"], } `), @@ -572,6 +581,7 @@ func TestSnapshotWithCcBinary(t *testing.T) { cc_prebuilt_binary { name: "mymodule_exports_mynativebinary@current", sdk_member_name: "mynativebinary", + visibility: ["//visibility:public"], installable: false, compile_multilib: "both", arch: { @@ -587,6 +597,7 @@ cc_prebuilt_binary { cc_prebuilt_binary { name: "mynativebinary", prefer: false, + visibility: ["//visibility:public"], compile_multilib: "both", arch: { arm64: { @@ -600,6 +611,7 @@ cc_prebuilt_binary { module_exports_snapshot { name: "mymodule_exports@current", + visibility: ["//visibility:public"], native_binaries: ["mymodule_exports_mynativebinary@current"], } `), @@ -648,6 +660,7 @@ func TestMultipleHostOsTypesSnapshotWithCcBinary(t *testing.T) { cc_prebuilt_binary { name: "myexports_mynativebinary@current", sdk_member_name: "mynativebinary", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, installable: false, @@ -679,6 +692,7 @@ cc_prebuilt_binary { cc_prebuilt_binary { name: "mynativebinary", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, stl: "none", @@ -708,6 +722,7 @@ cc_prebuilt_binary { module_exports_snapshot { name: "myexports@current", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, native_binaries: ["myexports_mynativebinary@current"], @@ -786,6 +801,7 @@ func TestSnapshotWithSingleHostOsType(t *testing.T) { cc_prebuilt_binary { name: "myexports_mynativebinary@current", sdk_member_name: "mynativebinary", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, installable: false, @@ -807,6 +823,7 @@ cc_prebuilt_binary { cc_prebuilt_binary { name: "mynativebinary", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, stl: "none", @@ -827,6 +844,7 @@ cc_prebuilt_binary { cc_prebuilt_library_shared { name: "myexports_mynativelib@current", sdk_member_name: "mynativelib", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, installable: false, @@ -848,6 +866,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "mynativelib", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, stl: "none", @@ -867,6 +886,7 @@ cc_prebuilt_library_shared { module_exports_snapshot { name: "myexports@current", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, native_binaries: ["myexports_mynativebinary@current"], @@ -920,6 +940,7 @@ func TestSnapshotWithCcStaticNocrtBinary(t *testing.T) { cc_prebuilt_binary { name: "mymodule_exports_linker@current", sdk_member_name: "linker", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, installable: false, @@ -946,6 +967,7 @@ cc_prebuilt_binary { cc_prebuilt_binary { name: "linker", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, stl: "none", @@ -970,6 +992,7 @@ cc_prebuilt_binary { module_exports_snapshot { name: "mymodule_exports@current", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, native_binaries: ["mymodule_exports_linker@current"], @@ -1019,6 +1042,7 @@ func TestSnapshotWithCcSharedLibrary(t *testing.T) { cc_prebuilt_library_shared { name: "mysdk_mynativelib@current", sdk_member_name: "mynativelib", + visibility: ["//visibility:public"], apex_available: [ "apex1", "apex2", @@ -1042,6 +1066,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "mynativelib", prefer: false, + visibility: ["//visibility:public"], apex_available: [ "apex1", "apex2", @@ -1063,6 +1088,7 @@ cc_prebuilt_library_shared { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], native_shared_libs: ["mysdk_mynativelib@current"], } `), @@ -1147,6 +1173,7 @@ func TestSnapshotWithCcSharedLibrarySharedLibs(t *testing.T) { cc_prebuilt_library_shared { name: "mysdk_mynativelib@current", sdk_member_name: "mynativelib", + visibility: ["//visibility:public"], installable: false, stl: "none", compile_multilib: "both", @@ -1167,6 +1194,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "mynativelib", prefer: false, + visibility: ["//visibility:public"], stl: "none", compile_multilib: "both", shared_libs: [ @@ -1186,6 +1214,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "mysdk_myothernativelib@current", sdk_member_name: "myothernativelib", + visibility: ["//visibility:public"], installable: false, stl: "none", compile_multilib: "both", @@ -1203,6 +1232,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "myothernativelib", prefer: false, + visibility: ["//visibility:public"], stl: "none", compile_multilib: "both", system_shared_libs: ["libm"], @@ -1219,6 +1249,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "mysdk_mysystemnativelib@current", sdk_member_name: "mysystemnativelib", + visibility: ["//visibility:public"], installable: false, stl: "none", compile_multilib: "both", @@ -1235,6 +1266,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "mysystemnativelib", prefer: false, + visibility: ["//visibility:public"], stl: "none", compile_multilib: "both", arch: { @@ -1249,6 +1281,7 @@ cc_prebuilt_library_shared { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], native_shared_libs: [ "mysdk_mynativelib@current", "mysdk_myothernativelib@current", @@ -1300,6 +1333,7 @@ func TestHostSnapshotWithCcSharedLibrary(t *testing.T) { cc_prebuilt_library_shared { name: "mysdk_mynativelib@current", sdk_member_name: "mynativelib", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, installable: false, @@ -1328,6 +1362,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "mynativelib", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, sdk_version: "minimum", @@ -1354,6 +1389,7 @@ cc_prebuilt_library_shared { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, native_shared_libs: ["mysdk_mynativelib@current"], @@ -1418,6 +1454,7 @@ func TestMultipleHostOsTypesSnapshotWithCcSharedLibrary(t *testing.T) { cc_prebuilt_library_shared { name: "mysdk_mynativelib@current", sdk_member_name: "mynativelib", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, installable: false, @@ -1449,6 +1486,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "mynativelib", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, stl: "none", @@ -1478,6 +1516,7 @@ cc_prebuilt_library_shared { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, native_shared_libs: ["mysdk_mynativelib@current"], @@ -1531,6 +1570,7 @@ func TestSnapshotWithCcStaticLibrary(t *testing.T) { cc_prebuilt_library_static { name: "myexports_mynativelib@current", sdk_member_name: "mynativelib", + visibility: ["//visibility:public"], installable: false, stl: "none", compile_multilib: "both", @@ -1550,6 +1590,7 @@ cc_prebuilt_library_static { cc_prebuilt_library_static { name: "mynativelib", prefer: false, + visibility: ["//visibility:public"], stl: "none", compile_multilib: "both", export_include_dirs: ["include/include"], @@ -1567,6 +1608,7 @@ cc_prebuilt_library_static { module_exports_snapshot { name: "myexports@current", + visibility: ["//visibility:public"], native_static_libs: ["myexports_mynativelib@current"], } `), @@ -1616,6 +1658,7 @@ func TestHostSnapshotWithCcStaticLibrary(t *testing.T) { cc_prebuilt_library_static { name: "myexports_mynativelib@current", sdk_member_name: "mynativelib", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, installable: false, @@ -1643,6 +1686,7 @@ cc_prebuilt_library_static { cc_prebuilt_library_static { name: "mynativelib", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, stl: "none", @@ -1668,6 +1712,7 @@ cc_prebuilt_library_static { module_exports_snapshot { name: "myexports@current", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, native_static_libs: ["myexports_mynativelib@current"], @@ -1721,6 +1766,7 @@ func TestSnapshotWithCcLibrary(t *testing.T) { cc_prebuilt_library { name: "myexports_mynativelib@current", sdk_member_name: "mynativelib", + visibility: ["//visibility:public"], installable: false, recovery_available: true, vendor_available: true, @@ -1750,6 +1796,7 @@ cc_prebuilt_library { cc_prebuilt_library { name: "mynativelib", prefer: false, + visibility: ["//visibility:public"], recovery_available: true, vendor_available: true, stl: "none", @@ -1777,6 +1824,7 @@ cc_prebuilt_library { module_exports_snapshot { name: "myexports@current", + visibility: ["//visibility:public"], native_libs: ["myexports_mynativelib@current"], } `), @@ -1826,6 +1874,7 @@ func TestHostSnapshotWithMultiLib64(t *testing.T) { cc_prebuilt_library_static { name: "myexports_mynativelib@current", sdk_member_name: "mynativelib", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, installable: false, @@ -1849,6 +1898,7 @@ cc_prebuilt_library_static { cc_prebuilt_library_static { name: "mynativelib", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, stl: "none", @@ -1870,6 +1920,7 @@ cc_prebuilt_library_static { module_exports_snapshot { name: "myexports@current", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, native_static_libs: ["myexports_mynativelib@current"], @@ -1914,6 +1965,7 @@ func TestSnapshotWithCcHeadersLibrary(t *testing.T) { cc_prebuilt_library_headers { name: "mysdk_mynativeheaders@current", sdk_member_name: "mynativeheaders", + visibility: ["//visibility:public"], stl: "none", compile_multilib: "both", export_include_dirs: ["include/include"], @@ -1922,6 +1974,7 @@ cc_prebuilt_library_headers { cc_prebuilt_library_headers { name: "mynativeheaders", prefer: false, + visibility: ["//visibility:public"], stl: "none", compile_multilib: "both", export_include_dirs: ["include/include"], @@ -1929,6 +1982,7 @@ cc_prebuilt_library_headers { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], native_header_libs: ["mysdk_mynativeheaders@current"], } `), @@ -1963,6 +2017,7 @@ func TestHostSnapshotWithCcHeadersLibrary(t *testing.T) { cc_prebuilt_library_headers { name: "mysdk_mynativeheaders@current", sdk_member_name: "mynativeheaders", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, stl: "none", @@ -1981,6 +2036,7 @@ cc_prebuilt_library_headers { cc_prebuilt_library_headers { name: "mynativeheaders", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, stl: "none", @@ -1998,6 +2054,7 @@ cc_prebuilt_library_headers { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, native_header_libs: ["mysdk_mynativeheaders@current"], @@ -2048,6 +2105,7 @@ func TestDeviceAndHostSnapshotWithCcHeadersLibrary(t *testing.T) { cc_prebuilt_library_headers { name: "mysdk_mynativeheaders@current", sdk_member_name: "mynativeheaders", + visibility: ["//visibility:public"], host_supported: true, stl: "none", compile_multilib: "both", @@ -2069,6 +2127,7 @@ cc_prebuilt_library_headers { cc_prebuilt_library_headers { name: "mynativeheaders", prefer: false, + visibility: ["//visibility:public"], host_supported: true, stl: "none", compile_multilib: "both", @@ -2089,6 +2148,7 @@ cc_prebuilt_library_headers { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], host_supported: true, native_header_libs: ["mysdk_mynativeheaders@current"], target: { @@ -2139,6 +2199,7 @@ func TestSystemSharedLibPropagation(t *testing.T) { cc_prebuilt_library_shared { name: "mysdk_sslnil@current", sdk_member_name: "sslnil", + visibility: ["//visibility:public"], installable: false, compile_multilib: "both", arch: { @@ -2154,6 +2215,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "sslnil", prefer: false, + visibility: ["//visibility:public"], compile_multilib: "both", arch: { arm64: { @@ -2168,6 +2230,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "mysdk_sslempty@current", sdk_member_name: "sslempty", + visibility: ["//visibility:public"], installable: false, compile_multilib: "both", system_shared_libs: [], @@ -2184,6 +2247,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "sslempty", prefer: false, + visibility: ["//visibility:public"], compile_multilib: "both", system_shared_libs: [], arch: { @@ -2199,6 +2263,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "mysdk_sslnonempty@current", sdk_member_name: "sslnonempty", + visibility: ["//visibility:public"], installable: false, compile_multilib: "both", system_shared_libs: ["mysdk_sslnil@current"], @@ -2215,6 +2280,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "sslnonempty", prefer: false, + visibility: ["//visibility:public"], compile_multilib: "both", system_shared_libs: ["sslnil"], arch: { @@ -2229,6 +2295,7 @@ cc_prebuilt_library_shared { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], native_shared_libs: [ "mysdk_sslnil@current", "mysdk_sslempty@current", @@ -2262,6 +2329,7 @@ sdk_snapshot { cc_prebuilt_library_shared { name: "mysdk_sslvariants@current", sdk_member_name: "sslvariants", + visibility: ["//visibility:public"], host_supported: true, installable: false, compile_multilib: "both", @@ -2293,6 +2361,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "sslvariants", prefer: false, + visibility: ["//visibility:public"], host_supported: true, compile_multilib: "both", target: { @@ -2322,6 +2391,7 @@ cc_prebuilt_library_shared { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], host_supported: true, native_shared_libs: ["mysdk_sslvariants@current"], target: { @@ -2364,6 +2434,7 @@ func TestStubsLibrary(t *testing.T) { cc_prebuilt_library_shared { name: "mysdk_stubslib@current", sdk_member_name: "stubslib", + visibility: ["//visibility:public"], installable: false, compile_multilib: "both", stubs: { @@ -2386,6 +2457,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "stubslib", prefer: false, + visibility: ["//visibility:public"], compile_multilib: "both", stubs: { versions: [ @@ -2406,6 +2478,7 @@ cc_prebuilt_library_shared { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], native_shared_libs: ["mysdk_stubslib@current"], } `)) @@ -2442,6 +2515,7 @@ func TestDeviceAndHostSnapshotWithStubsLibrary(t *testing.T) { cc_prebuilt_library_shared { name: "mysdk_stubslib@current", sdk_member_name: "stubslib", + visibility: ["//visibility:public"], host_supported: true, installable: false, compile_multilib: "both", @@ -2477,6 +2551,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "stubslib", prefer: false, + visibility: ["//visibility:public"], host_supported: true, compile_multilib: "both", stubs: { @@ -2510,6 +2585,7 @@ cc_prebuilt_library_shared { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], host_supported: true, native_shared_libs: ["mysdk_stubslib@current"], target: { @@ -2546,6 +2622,7 @@ func TestUniqueHostSoname(t *testing.T) { cc_prebuilt_library_shared { name: "mysdk_mylib@current", sdk_member_name: "mylib", + visibility: ["//visibility:public"], host_supported: true, installable: false, unique_host_soname: true, @@ -2575,6 +2652,7 @@ cc_prebuilt_library_shared { cc_prebuilt_library_shared { name: "mylib", prefer: false, + visibility: ["//visibility:public"], host_supported: true, unique_host_soname: true, compile_multilib: "both", @@ -2602,6 +2680,7 @@ cc_prebuilt_library_shared { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], host_supported: true, native_shared_libs: ["mysdk_mylib@current"], target: { diff --git a/sdk/exports_test.go b/sdk/exports_test.go index 20e25212c..aa1200fed 100644 --- a/sdk/exports_test.go +++ b/sdk/exports_test.go @@ -49,17 +49,20 @@ func TestModuleExportsSnapshot(t *testing.T) { java_import { name: "myexports_myjavalib@current", sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], jars: ["java/myjavalib.jar"], } java_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], jars: ["java/myjavalib.jar"], } module_exports_snapshot { name: "myexports@current", + visibility: ["//visibility:public"], java_libs: ["myexports_myjavalib@current"], } `)) diff --git a/sdk/java_sdk_test.go b/sdk/java_sdk_test.go index 23ecb6d06..d6828c95b 100644 --- a/sdk/java_sdk_test.go +++ b/sdk/java_sdk_test.go @@ -121,17 +121,20 @@ func TestSdkDependsOnSourceEvenWhenPrebuiltPreferred(t *testing.T) { java_import { name: "mysdk_sdkmember@current", sdk_member_name: "sdkmember", + visibility: ["//visibility:public"], jars: ["java/sdkmember.jar"], } java_import { name: "sdkmember", prefer: false, + visibility: ["//visibility:public"], jars: ["java/sdkmember.jar"], } sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], java_header_libs: ["mysdk_sdkmember@current"], } `)) @@ -243,17 +246,20 @@ func TestSnapshotWithJavaHeaderLibrary(t *testing.T) { java_import { name: "mysdk_myjavalib@current", sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], jars: ["java/myjavalib.jar"], } java_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], jars: ["java/myjavalib.jar"], } sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], java_header_libs: ["mysdk_myjavalib@current"], } @@ -295,6 +301,7 @@ func TestHostSnapshotWithJavaHeaderLibrary(t *testing.T) { java_import { name: "mysdk_myjavalib@current", sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, jars: ["java/myjavalib.jar"], @@ -303,6 +310,7 @@ java_import { java_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, jars: ["java/myjavalib.jar"], @@ -310,6 +318,7 @@ java_import { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, java_header_libs: ["mysdk_myjavalib@current"], @@ -347,6 +356,7 @@ func TestDeviceAndHostSnapshotWithJavaHeaderLibrary(t *testing.T) { java_import { name: "mysdk_myjavalib@current", sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], host_supported: true, target: { android: { @@ -361,6 +371,7 @@ java_import { java_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], host_supported: true, target: { android: { @@ -374,6 +385,7 @@ java_import { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], host_supported: true, java_header_libs: ["mysdk_myjavalib@current"], } @@ -413,17 +425,20 @@ func TestSnapshotWithJavaImplLibrary(t *testing.T) { java_import { name: "myexports_myjavalib@current", sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], jars: ["java/myjavalib.jar"], } java_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], jars: ["java/myjavalib.jar"], } module_exports_snapshot { name: "myexports@current", + visibility: ["//visibility:public"], java_libs: ["myexports_myjavalib@current"], } @@ -465,6 +480,7 @@ func TestHostSnapshotWithJavaImplLibrary(t *testing.T) { java_import { name: "myexports_myjavalib@current", sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, jars: ["java/myjavalib.jar"], @@ -473,6 +489,7 @@ java_import { java_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, jars: ["java/myjavalib.jar"], @@ -480,6 +497,7 @@ java_import { module_exports_snapshot { name: "myexports@current", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, java_libs: ["myexports_myjavalib@current"], @@ -516,6 +534,7 @@ func TestSnapshotWithJavaTest(t *testing.T) { java_test_import { name: "myexports_myjavatests@current", sdk_member_name: "myjavatests", + visibility: ["//visibility:public"], jars: ["java/myjavatests.jar"], test_config: "java/myjavatests-AndroidTest.xml", } @@ -523,12 +542,14 @@ java_test_import { java_test_import { name: "myjavatests", prefer: false, + visibility: ["//visibility:public"], jars: ["java/myjavatests.jar"], test_config: "java/myjavatests-AndroidTest.xml", } module_exports_snapshot { name: "myexports@current", + visibility: ["//visibility:public"], java_tests: ["myexports_myjavatests@current"], } `), @@ -566,6 +587,7 @@ func TestHostSnapshotWithJavaTest(t *testing.T) { java_test_import { name: "myexports_myjavatests@current", sdk_member_name: "myjavatests", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, jars: ["java/myjavatests.jar"], @@ -575,6 +597,7 @@ java_test_import { java_test_import { name: "myjavatests", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, jars: ["java/myjavatests.jar"], @@ -583,6 +606,7 @@ java_test_import { module_exports_snapshot { name: "myexports@current", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, java_tests: ["myexports_myjavatests@current"], @@ -660,17 +684,20 @@ func TestSnapshotWithDroidstubs(t *testing.T) { prebuilt_stubs_sources { name: "myexports_myjavaapistubs@current", sdk_member_name: "myjavaapistubs", + visibility: ["//visibility:public"], srcs: ["java/myjavaapistubs_stubs_sources"], } prebuilt_stubs_sources { name: "myjavaapistubs", prefer: false, + visibility: ["//visibility:public"], srcs: ["java/myjavaapistubs_stubs_sources"], } module_exports_snapshot { name: "myexports@current", + visibility: ["//visibility:public"], stubs_sources: ["myexports_myjavaapistubs@current"], } @@ -706,6 +733,7 @@ func TestHostSnapshotWithDroidstubs(t *testing.T) { prebuilt_stubs_sources { name: "myexports_myjavaapistubs@current", sdk_member_name: "myjavaapistubs", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, srcs: ["java/myjavaapistubs_stubs_sources"], @@ -714,6 +742,7 @@ prebuilt_stubs_sources { prebuilt_stubs_sources { name: "myjavaapistubs", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, srcs: ["java/myjavaapistubs_stubs_sources"], @@ -721,6 +750,7 @@ prebuilt_stubs_sources { module_exports_snapshot { name: "myexports@current", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, stubs_sources: ["myexports_myjavaapistubs@current"], @@ -766,12 +796,14 @@ func TestSnapshotWithJavaSystemModules(t *testing.T) { java_import { name: "mysdk_exported-system-module@current", sdk_member_name: "exported-system-module", + visibility: ["//visibility:public"], jars: ["java/exported-system-module.jar"], } java_import { name: "exported-system-module", prefer: false, + visibility: ["//visibility:public"], jars: ["java/exported-system-module.jar"], } @@ -792,6 +824,7 @@ java_import { 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", @@ -801,6 +834,7 @@ java_system_modules_import { java_system_modules_import { name: "my-system-modules", prefer: false, + visibility: ["//visibility:public"], libs: [ "mysdk_system-module", "exported-system-module", @@ -809,6 +843,7 @@ java_system_modules_import { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], java_header_libs: ["mysdk_exported-system-module@current"], java_system_modules: ["mysdk_my-system-modules@current"], } @@ -871,6 +906,7 @@ java_import { 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"], @@ -879,6 +915,7 @@ java_system_modules_import { java_system_modules_import { name: "my-system-modules", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, libs: ["mysdk_system-module"], @@ -886,6 +923,7 @@ java_system_modules_import { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, java_system_modules: ["mysdk_my-system-modules@current"], @@ -939,6 +977,7 @@ func TestDeviceAndHostSnapshotWithOsSpecificMembers(t *testing.T) { java_import { name: "myexports_hostjavalib@current", sdk_member_name: "hostjavalib", + visibility: ["//visibility:public"], device_supported: false, host_supported: true, jars: ["java/hostjavalib.jar"], @@ -947,6 +986,7 @@ java_import { java_import { name: "hostjavalib", prefer: false, + visibility: ["//visibility:public"], device_supported: false, host_supported: true, jars: ["java/hostjavalib.jar"], @@ -955,18 +995,21 @@ java_import { java_import { name: "myexports_androidjavalib@current", sdk_member_name: "androidjavalib", + visibility: ["//visibility:public"], jars: ["java/androidjavalib.jar"], } java_import { name: "androidjavalib", prefer: false, + visibility: ["//visibility:public"], jars: ["java/androidjavalib.jar"], } java_import { name: "myexports_myjavalib@current", sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], host_supported: true, target: { android: { @@ -981,6 +1024,7 @@ java_import { java_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], host_supported: true, target: { android: { @@ -994,6 +1038,7 @@ java_import { module_exports_snapshot { name: "myexports@current", + visibility: ["//visibility:public"], host_supported: true, java_libs: ["myexports_myjavalib@current"], target: { @@ -1040,6 +1085,7 @@ func TestSnapshotWithJavaSdkLibrary(t *testing.T) { java_sdk_library_import { name: "mysdk_myjavalib@current", sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], apex_available: ["//apex_available:anyapex"], shared_library: false, public: { @@ -1068,6 +1114,7 @@ java_sdk_library_import { java_sdk_library_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], apex_available: ["//apex_available:anyapex"], shared_library: false, public: { @@ -1095,6 +1142,7 @@ java_sdk_library_import { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], java_sdk_libs: ["mysdk_myjavalib@current"], } `), @@ -1138,6 +1186,7 @@ func TestSnapshotWithJavaSdkLibrary_SdkVersion_None(t *testing.T) { java_sdk_library_import { name: "mysdk_myjavalib@current", sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], shared_library: true, public: { jars: ["sdk_library/public/myjavalib-stubs.jar"], @@ -1151,6 +1200,7 @@ java_sdk_library_import { java_sdk_library_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], shared_library: true, public: { jars: ["sdk_library/public/myjavalib-stubs.jar"], @@ -1163,6 +1213,7 @@ java_sdk_library_import { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], java_sdk_libs: ["mysdk_myjavalib@current"], } `), @@ -1202,6 +1253,7 @@ func TestSnapshotWithJavaSdkLibrary_SdkVersion_ForScope(t *testing.T) { java_sdk_library_import { name: "mysdk_myjavalib@current", sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], shared_library: true, public: { jars: ["sdk_library/public/myjavalib-stubs.jar"], @@ -1215,6 +1267,7 @@ java_sdk_library_import { java_sdk_library_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], shared_library: true, public: { jars: ["sdk_library/public/myjavalib-stubs.jar"], @@ -1227,6 +1280,7 @@ java_sdk_library_import { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], java_sdk_libs: ["mysdk_myjavalib@current"], } `), @@ -1269,6 +1323,7 @@ func TestSnapshotWithJavaSdkLibrary_ApiScopes(t *testing.T) { java_sdk_library_import { name: "mysdk_myjavalib@current", sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], apex_available: ["//apex_available:anyapex"], shared_library: true, public: { @@ -1290,6 +1345,7 @@ java_sdk_library_import { java_sdk_library_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], apex_available: ["//apex_available:anyapex"], shared_library: true, public: { @@ -1310,6 +1366,7 @@ java_sdk_library_import { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], java_sdk_libs: ["mysdk_myjavalib@current"], } `), @@ -1359,6 +1416,7 @@ func TestSnapshotWithJavaSdkLibrary_ModuleLib(t *testing.T) { java_sdk_library_import { name: "mysdk_myjavalib@current", sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], apex_available: ["//apex_available:anyapex"], shared_library: true, public: { @@ -1387,6 +1445,7 @@ java_sdk_library_import { java_sdk_library_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], apex_available: ["//apex_available:anyapex"], shared_library: true, public: { @@ -1414,6 +1473,7 @@ java_sdk_library_import { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], java_sdk_libs: ["mysdk_myjavalib@current"], } `), @@ -1464,6 +1524,7 @@ func TestSnapshotWithJavaSdkLibrary_SystemServer(t *testing.T) { java_sdk_library_import { name: "mysdk_myjavalib@current", sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], apex_available: ["//apex_available:anyapex"], shared_library: true, public: { @@ -1485,6 +1546,7 @@ java_sdk_library_import { java_sdk_library_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], apex_available: ["//apex_available:anyapex"], shared_library: true, public: { @@ -1505,6 +1567,7 @@ java_sdk_library_import { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], java_sdk_libs: ["mysdk_myjavalib@current"], } `), @@ -1549,6 +1612,7 @@ func TestSnapshotWithJavaSdkLibrary_NamingScheme(t *testing.T) { 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, @@ -1564,6 +1628,7 @@ java_sdk_library_import { java_sdk_library_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], apex_available: ["//apex_available:anyapex"], naming_scheme: "default", shared_library: true, @@ -1578,6 +1643,7 @@ java_sdk_library_import { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], java_sdk_libs: ["mysdk_myjavalib@current"], } `), @@ -1622,6 +1688,7 @@ func TestSnapshotWithJavaSdkLibrary_DoctagFiles(t *testing.T) { java_sdk_library_import { name: "mysdk_myjavalib@current", sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], shared_library: true, doctag_files: ["doctags/docs/known_doctags"], public: { @@ -1636,6 +1703,7 @@ java_sdk_library_import { java_sdk_library_import { name: "myjavalib", prefer: false, + visibility: ["//visibility:public"], shared_library: true, doctag_files: ["doctags/docs/known_doctags"], public: { @@ -1649,6 +1717,7 @@ java_sdk_library_import { sdk_snapshot { name: "mysdk@current", + visibility: ["//visibility:public"], java_sdk_libs: ["mysdk_myjavalib@current"], } `),