Android Java SDK: use relative file paths in GN files.
Tested:
tools/gen_android_bp # no-op for this change
tools/gen_bazel # no-op for this change
Bug: b/386353531
Change-Id: I40c9a54aa2eb568a8ec7307af8166f722623e6bc
diff --git a/gn/perfetto_android_sdk.gni b/gn/perfetto_android_sdk.gni
index c509ae1..3ffc73e 100644
--- a/gn/perfetto_android_sdk.gni
+++ b/gn/perfetto_android_sdk.gni
@@ -58,7 +58,7 @@
metadata = {
perfetto_action_type_for_generator = [ "perfetto_android_library" ]
if (defined(manifest)) {
- perfetto_android_manifest = [ manifest ]
+ perfetto_android_manifest = [ get_path_info(manifest, "abspath") ]
}
}
}
@@ -86,9 +86,10 @@
outputs = [ out_path ]
metadata = {
perfetto_action_type_for_generator = [ "perfetto_android_app" ]
- perfetto_android_manifest = [ manifest ]
+ perfetto_android_manifest = [ get_path_info(manifest, "abspath") ]
if (defined(resource_files_glob)) {
- perfetto_android_resource_files_glob = [ resource_files_glob ]
+ perfetto_android_resource_files_glob =
+ [ get_path_info(resource_files_glob, "abspath") ]
}
}
}
diff --git a/src/java_sdk/main/BUILD.gn b/src/java_sdk/main/BUILD.gn
index ab9df0b..8e6d5c8 100644
--- a/src/java_sdk/main/BUILD.gn
+++ b/src/java_sdk/main/BUILD.gn
@@ -20,14 +20,14 @@
perfetto_android_library("perfetto_lib") {
sources = [ "java/com/google/perfetto/sdk/PerfettoExampleWrapper.java" ]
deps = [ "cpp:perfetto_example_jni_lib" ]
- manifest = "src/java_sdk/main/LibraryAndroidManifest.xml"
+ manifest = "LibraryAndroidManifest.xml"
testonly = true
}
perfetto_android_app("perfetto_java_sdk_app") {
sources = [ "java/com/google/perfetto/sdk/MainActivity.java" ]
- manifest = "src/java_sdk/main/AndroidManifest.xml"
- resource_files_glob = "src/java_sdk/main/res/**/*"
+ manifest = "AndroidManifest.xml"
+ resource_files_glob = "res/**/*"
deps = [ ":perfetto_lib" ]
testonly = true
}
diff --git a/src/java_sdk/test/BUILD.gn b/src/java_sdk/test/BUILD.gn
index dba3db0..503ad6b 100644
--- a/src/java_sdk/test/BUILD.gn
+++ b/src/java_sdk/test/BUILD.gn
@@ -29,7 +29,7 @@
perfetto_android_app("perfetto_java_sdk_test_app") {
deps = [ ":perfetto_test_lib" ]
- manifest = "src/java_sdk/test/AndroidTestManifest.xml"
+ manifest = "AndroidTestManifest.xml"
testonly = true
}
diff --git a/tools/gen_android_bp b/tools/gen_android_bp
index cc48224..e1f34cc 100755
--- a/tools/gen_android_bp
+++ b/tools/gen_android_bp
@@ -1088,8 +1088,9 @@
module.jni_libs = [android_jni_lib_custom_target_name(target)
for target in jni_lib_targets]
- module.manifest = target.manifest
- module.resource_dirs = [target.resource_files.rstrip('/**/*')]
+ module.manifest = gn_utils.label_to_path(target.manifest)
+ module.resource_dirs = [
+ gn_utils.label_to_path(target.resource_files.rstrip('/**/*'))]
module.jni_uses_platform_apis = True
module.sdk_version = 30
self.blueprint.add_module(module)
@@ -1107,7 +1108,7 @@
module.static_libs = [self._bp_module_name_from_gn_target(dep)
for dep in non_jni_lib_deps]
- module.manifest = target.manifest
+ module.manifest = gn_utils.label_to_path(target.manifest)
module.sdk_version = 30
self.blueprint.add_module(module)
return module
diff --git a/tools/gen_bazel b/tools/gen_bazel
index 42290fc..8efd9f7 100755
--- a/tools/gen_bazel
+++ b/tools/gen_bazel
@@ -707,7 +707,7 @@
label.srcs += (gn_utils.label_to_path(x) for x in target.sources)
_populate_android_library_or_binary_deps(target, label)
if target.manifest:
- label.manifest = target.manifest
+ label.manifest = gn_utils.label_to_path(target.manifest)
return [label]
def gen_perfetto_android_binary(target: GnParser.Target):
@@ -717,9 +717,10 @@
label.srcs += (gn_utils.label_to_path(x) for x in target.sources)
_populate_android_library_or_binary_deps(target, label)
if target.manifest:
- label.manifest = target.manifest
+ label.manifest = gn_utils.label_to_path(target.manifest)
if target.resource_files:
- label.resource_files = 'glob(["%s"])' % target.resource_files
+ label.resource_files = 'glob(["%s"])' % gn_utils.label_to_path(
+ target.resource_files)
if target.instruments:
label.instruments = ':' + get_bazel_label_name(target.instruments)
return [label]
diff --git a/tools/gn_utils.py b/tools/gn_utils.py
index 85a69a4..baf0f0c 100644
--- a/tools/gn_utils.py
+++ b/tools/gn_utils.py
@@ -504,12 +504,10 @@
manifest = target.metadata.get('perfetto_android_manifest')
if manifest:
target.manifest = manifest[0]
- assert (target.manifest.startswith('src/'))
resource_files = target.metadata.get(
'perfetto_android_resource_files_glob')
if resource_files:
target.resource_files = resource_files[0]
- assert (target.resource_files.startswith('src/'))
assert (target.resource_files.endswith('/**/*'))
a_i_t_app = target.metadata.get('perfetto_android_a_i_t_app')
target.a_i_t_app = a_i_t_app[0] if a_i_t_app else None