gn2bp: fix arguments for jni_generator.py
Fix arguments for jni_generator.py:
--output_dir: gen/ replaced by $(genDir)
--input_dir: for source files only, drop ../../ and wrap in $(location <label>)
Test: m cronet_aml_base_base_jni_headers
Change-Id: Ie4868e47480789b599bc908402aa327ee75391fd
diff --git a/tools/gn2bp/Android.bp.swp b/tools/gn2bp/Android.bp.swp
index c044321..d6aa87a 100644
--- a/tools/gn2bp/Android.bp.swp
+++ b/tools/gn2bp/Android.bp.swp
@@ -1099,85 +1099,85 @@
"--output_name " +
"TaskRunnerImpl_jni.h " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/ApkAssets.java " +
+ "$(location base/android/java/src/org/chromium/base/ApkAssets.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/ApplicationStatus.java " +
+ "$(location base/android/java/src/org/chromium/base/ApplicationStatus.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/BaseFeatureList.java " +
+ "$(location base/android/java/src/org/chromium/base/BaseFeatureList.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/BuildInfo.java " +
+ "$(location base/android/java/src/org/chromium/base/BuildInfo.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/BundleUtils.java " +
+ "$(location base/android/java/src/org/chromium/base/BundleUtils.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/Callback.java " +
+ "$(location base/android/java/src/org/chromium/base/Callback.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/CommandLine.java " +
+ "$(location base/android/java/src/org/chromium/base/CommandLine.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/ContentUriUtils.java " +
+ "$(location base/android/java/src/org/chromium/base/ContentUriUtils.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/CpuFeatures.java " +
+ "$(location base/android/java/src/org/chromium/base/CpuFeatures.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/EarlyTraceEvent.java " +
+ "$(location base/android/java/src/org/chromium/base/EarlyTraceEvent.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/EventLog.java " +
+ "$(location base/android/java/src/org/chromium/base/EventLog.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/FeatureList.java " +
+ "$(location base/android/java/src/org/chromium/base/FeatureList.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/Features.java " +
+ "$(location base/android/java/src/org/chromium/base/Features.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/FieldTrialList.java " +
+ "$(location base/android/java/src/org/chromium/base/FieldTrialList.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/FileUtils.java " +
+ "$(location base/android/java/src/org/chromium/base/FileUtils.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/ImportantFileWriterAndroid.java " +
+ "$(location base/android/java/src/org/chromium/base/ImportantFileWriterAndroid.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/IntStringCallback.java " +
+ "$(location base/android/java/src/org/chromium/base/IntStringCallback.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/JNIUtils.java " +
+ "$(location base/android/java/src/org/chromium/base/JNIUtils.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/JavaExceptionReporter.java " +
+ "$(location base/android/java/src/org/chromium/base/JavaExceptionReporter.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/JavaHandlerThread.java " +
+ "$(location base/android/java/src/org/chromium/base/JavaHandlerThread.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/LocaleUtils.java " +
+ "$(location base/android/java/src/org/chromium/base/LocaleUtils.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/MemoryPressureListener.java " +
+ "$(location base/android/java/src/org/chromium/base/MemoryPressureListener.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/PathService.java " +
+ "$(location base/android/java/src/org/chromium/base/PathService.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/PathUtils.java " +
+ "$(location base/android/java/src/org/chromium/base/PathUtils.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/PowerMonitor.java " +
+ "$(location base/android/java/src/org/chromium/base/PowerMonitor.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/RadioUtils.java " +
+ "$(location base/android/java/src/org/chromium/base/RadioUtils.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/SysUtils.java " +
+ "$(location base/android/java/src/org/chromium/base/SysUtils.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/ThreadUtils.java " +
+ "$(location base/android/java/src/org/chromium/base/ThreadUtils.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/TimezoneUtils.java " +
+ "$(location base/android/java/src/org/chromium/base/TimezoneUtils.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/TraceEvent.java " +
+ "$(location base/android/java/src/org/chromium/base/TraceEvent.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/UnguessableToken.java " +
+ "$(location base/android/java/src/org/chromium/base/UnguessableToken.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/jank_tracker/JankMetricUMARecorder.java " +
+ "$(location base/android/java/src/org/chromium/base/jank_tracker/JankMetricUMARecorder.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java " +
+ "$(location base/android/java/src/org/chromium/base/library_loader/LibraryLoader.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/library_loader/LibraryPrefetcher.java " +
+ "$(location base/android/java/src/org/chromium/base/library_loader/LibraryPrefetcher.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/memory/JavaHeapDumpGenerator.java " +
+ "$(location base/android/java/src/org/chromium/base/memory/JavaHeapDumpGenerator.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/metrics/NativeUmaRecorder.java " +
+ "$(location base/android/java/src/org/chromium/base/metrics/NativeUmaRecorder.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/metrics/StatisticsRecorderAndroid.java " +
+ "$(location base/android/java/src/org/chromium/base/metrics/StatisticsRecorderAndroid.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/process_launcher/ChildProcessService.java " +
+ "$(location base/android/java/src/org/chromium/base/process_launcher/ChildProcessService.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/task/PostTask.java " +
+ "$(location base/android/java/src/org/chromium/base/task/PostTask.java) " +
"--input_file " +
- "../../base/android/java/src/org/chromium/base/task/TaskRunnerImpl.java",
+ "$(location base/android/java/src/org/chromium/base/task/TaskRunnerImpl.java)",
out: [
"jni_headers/base/base_jni_headers/ApkAssets_jni.h",
"jni_headers/base/base_jni_headers/ApplicationStatus_jni.h",
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 476dbcf..0fec478 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -680,6 +680,22 @@
target.args[i + 1] = '.'
break
+ elif target.script == '//base/android/jni_generator/jni_generator.py':
+ for i, val in enumerate(target.args):
+ if val == '--output_file':
+ # replace --output_file gen/... with --output_file $(genDir)/...
+ target.args[i + 1] = re.sub('^gen', '$(genDir)', target.args[i + 1])
+ if val == '--input_file':
+ # --input_file supports both .class specifiers or source files as arguments.
+ # Only source files need to be wrapped inside a $(location <label>) tag.
+ if re.match('.*\.class$', target.args[i + 1]):
+ continue
+ # replace --input_file ../../... with --input_file $(location ...)
+ # TODO: put inside function
+ filename = re.sub('^\.\./\.\./', '', target.args[i + 1])
+ target.args[i + 1] = '$(location %s)' % filename
+
+
def create_action_module(blueprint, target):
bp_module_name = label_to_module_name(target.name)
module = Module('genrule', bp_module_name, target.name)