gn2bp: Restrict visibility
Bug: 273656868
Test: ./update_results.sh, TH
Change-Id: Ieb8285b0308495c0cf2d9281ed54714280b7ebb0
diff --git a/tools/gn2bp/Android.bp.swp b/tools/gn2bp/Android.bp.swp
index 163f8b6..8e6703a 100644
--- a/tools/gn2bp/Android.bp.swp
+++ b/tools/gn2bp/Android.bp.swp
@@ -23,6 +23,9 @@
default_applicable_licenses: [
"external_cronet_license",
],
+ default_visibility: [
+ ":__subpackages__",
+ ],
}
// GN: //components/cronet/android:cronet_api_java
@@ -54,6 +57,9 @@
"components/cronet/android/api/src/android/net/http/UrlRequest.java",
"components/cronet/android/api/src/android/net/http/UrlResponseInfo.java",
],
+ visibility: [
+ "//packages/modules/Connectivity:__subpackages__",
+ ],
}
// GN: //base/allocator:buildflags
@@ -6556,6 +6562,9 @@
"-Wl,-wrap,vasprintf",
],
stem: "libcronet.108.0.5359.128",
+ visibility: [
+ "//packages/modules/Connectivity:__subpackages__",
+ ],
target: {
android_arm: {
cflags: [
@@ -8274,6 +8283,9 @@
"-Wl,-wrap,vasprintf",
],
stem: "libcronet_tests",
+ visibility: [
+ "//packages/modules/Connectivity:__subpackages__",
+ ],
target: {
android_arm: {
cflags: [
@@ -8549,6 +8561,9 @@
"-Wl,-wrap,vasprintf",
],
stem: "libcronet_unittests_android__library",
+ visibility: [
+ "//packages/modules/Connectivity:__subpackages__",
+ ],
target: {
android_arm: {
cflags: [
@@ -11183,6 +11198,9 @@
"-Aorg.chromium.chrome.skipGenJni",
"-Apackage_prefix=android.net.http.internal",
],
+ visibility: [
+ "//packages/modules/Connectivity:__subpackages__",
+ ],
}
// GN: //gn:java
@@ -11460,6 +11478,9 @@
javacflags: [
"-Aorg.chromium.chrome.skipGenJni",
],
+ visibility: [
+ "//packages/modules/Connectivity:__subpackages__",
+ ],
}
// GN: //base/android/jni_generator:jni_processor
@@ -16147,6 +16168,9 @@
"-Wl,-wrap,vasprintf",
],
stem: "libnet_unittests__library",
+ visibility: [
+ "//packages/modules/Connectivity:__subpackages__",
+ ],
target: {
android_arm: {
cflags: [
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 075ed58..e25abf0 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -294,6 +294,12 @@
# Name of cronet api target
java_api_target_name = "//components/cronet/android:cronet_api_java"
+# Visibility set for package default
+package_default_visibility = ":__subpackages__"
+
+# Visibility set for modules used from Connectivity
+connectivity_visibility = "//packages/modules/Connectivity:__subpackages__"
+
# ----------------------------------------------------------------------------
# End of configuration.
# ----------------------------------------------------------------------------
@@ -478,6 +484,8 @@
self.javacflags = set()
self.c_std = None
self.default_applicable_licenses = set()
+ self.default_visibility = []
+ self.visibility = []
def to_string(self, output):
if self.comment:
@@ -536,6 +544,8 @@
self._output_field(output, 'javacflags')
self._output_field(output, 'c_std')
self._output_field(output, 'default_applicable_licenses')
+ self._output_field(output, 'default_visibility')
+ self._output_field(output, 'visibility')
if self.rtti:
self._output_field(output, 'rtti')
@@ -1725,6 +1735,7 @@
module.srcs.add(':' + create_action_module(blueprint, target, 'java_genrule', is_test_target).name)
preprocessor_module = create_java_jni_preprocessor(blueprint)
module.plugins.add(preprocessor_module.name)
+ module.visibility.append(connectivity_visibility)
blueprint.add_module(module)
return module
@@ -1740,6 +1751,7 @@
':' + create_action_module(blueprint, gn.get_target(dep), 'java_genrule', False).name
for dep in get_api_java_actions(gn)])
blueprint.add_module(source_module)
+ source_module.visibility.append(connectivity_visibility)
return source_module
def update_jni_registration_module(module, gn):
@@ -1794,10 +1806,14 @@
blueprint.add_module(defaults)
for target in targets:
- create_modules_from_target(blueprint, gn, target, is_test_target=False)
+ module = create_modules_from_target(blueprint, gn, target, is_test_target=False)
+ if module:
+ module.visibility.append(connectivity_visibility)
for test_target in test_targets:
- create_modules_from_target(blueprint, gn, test_target + gn_utils.TESTING_SUFFIX, is_test_target=True)
+ module = create_modules_from_target(blueprint, gn, test_target + gn_utils.TESTING_SUFFIX, is_test_target=True)
+ if module:
+ module.visibility.append(connectivity_visibility)
create_java_api_module(blueprint, gn)
java_module = create_java_module(blueprint, gn, is_test_target=False)
@@ -1828,11 +1844,12 @@
return blueprint
-def create_default_license_module(blueprint):
- default_license = Module("package", "", "PACKAGE")
- default_license.comment = "The actual license can be found in Android.extras.bp"
- default_license.default_applicable_licenses.add(CRONET_LICENSE_NAME)
- blueprint.add_module(default_license)
+def create_package_module(blueprint):
+ package = Module("package", "", "PACKAGE")
+ package.comment = "The actual license can be found in Android.extras.bp"
+ package.default_applicable_licenses.add(CRONET_LICENSE_NAME)
+ package.default_visibility.append(package_default_visibility)
+ blueprint.add_module(package)
def main():
parser = argparse.ArgumentParser(
@@ -1886,7 +1903,7 @@
# Add any proto groups to the blueprint.
for l_name, t_names in proto_groups.items():
create_proto_group_modules(blueprint, gn, l_name, t_names)
- create_default_license_module(blueprint)
+ create_package_module(blueprint)
output = [
"""// Copyright (C) 2022 The Android Open Source Project
//