From 7d2cdf44bc047572de97ac2265ed44d4e20d7318 Mon Sep 17 00:00:00 2001 From: Patrick Rohr Date: Thu, 22 Dec 2022 11:39:35 -0800 Subject: [PATCH] gn2bp: depend on :current_android_jar for JNI generation Test: update_results.sh Change-Id: Id08cb64c65cc2f2b2136d6e437ad8af1876da180 --- tools/gn2bp/Android.bp.swp | 4 ++-- tools/gn2bp/gen_android_bp | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/gn2bp/Android.bp.swp b/tools/gn2bp/Android.bp.swp index afeffcd3ed..b87b969956 100644 --- a/tools/gn2bp/Android.bp.swp +++ b/tools/gn2bp/Android.bp.swp @@ -318,7 +318,7 @@ cc_genrule { "--includes " + "base/android/jni_generator/jni_generator_helper.h " + "--jar_file " + - "$(location third_party/android_sdk/public/platforms/android-33/android.jar) " + + "$(location :current_android_jar) " + "--output_name " + "Runnable_jni.h " + "--output_name " + @@ -334,12 +334,12 @@ cc_genrule { "base/android_runtime_jni_headers/Runtime_jni.h", ], tool_files: [ + ":current_android_jar", "base/android/jni_generator/android_jar.classes", "base/android/jni_generator/jni_generator.py", "build/android/gyp/util/__init__.py", "build/android/gyp/util/build_utils.py", "build/gn_helpers.py", - "third_party/android_sdk/public/platforms/android-33/android.jar", ], apex_available: [ "com.android.tethering", diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp index 9c0f7965e6..db2fa136d6 100755 --- a/tools/gn2bp/gen_android_bp +++ b/tools/gn2bp/gen_android_bp @@ -924,8 +924,7 @@ class JniGeneratorSanitizer(BaseActionSanitizer): return arg def _sanitize_args(self): - self._update_value_arg('--jar_file', self._sanitize_filepath, False) - self._update_value_arg('--jar_file', self._add_location_tag, False) + self._set_value_arg('--jar_file', '$(location :current_android_jar)', False) if self._has_arg('--jar_file'): self._append_arg('--javap', '$$(find out/.path -name javap)') self._update_value_arg('--output_dir', self._sanitize_filepath) @@ -945,6 +944,10 @@ class JniGeneratorSanitizer(BaseActionSanitizer): # android_jar.classes should be part of the tools as it list implicit classes # for the script to generate JNI headers. tool_files.add("base/android/jni_generator/android_jar.classes") + + # Filter android.jar and add :current_android_jar + tool_files = {file if not file.endswith('android.jar') else ':current_android_jar' + for file in tool_files } return tool_files class JniRegistrationGeneratorSanitizer(BaseActionSanitizer):