summaryrefslogtreecommitdiff
path: root/annotations/generate_annotated_java_files.py
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2017-10-27 17:50:42 +0000
committerColin Cross <ccross@android.com>2017-10-30 14:08:49 -0700
commitfb7218e7ced6dae1654ffc723835bda6e3696ac7 (patch)
treefed923d4239bb7e2924c645d15f9dd1f12016915 /annotations/generate_annotated_java_files.py
parent6f02cff303d67012a1cabbfe7ddadd85d359152c (diff)
Revert "Revert "Add makefile targets for ojluni jaif-annotated source files.""
This reverts commit 554d65461915e1f9d2197a13d4ef39fa9964c809. This reapplies I9571a7841cbcc2790891352e0efc69327484736b with additional fixes for absolute OUT_DIR. Bug: 64930165 Bug: 68375156 Test: m checkbuild Test: m docs Change-Id: Iabb6689559752932f7e9a9bfb3c6d1077e844b1f
Diffstat (limited to 'annotations/generate_annotated_java_files.py')
-rwxr-xr-xannotations/generate_annotated_java_files.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/annotations/generate_annotated_java_files.py b/annotations/generate_annotated_java_files.py
new file mode 100755
index 0000000000..de8b131da6
--- /dev/null
+++ b/annotations/generate_annotated_java_files.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+
+"""Generate annotated_java_files.bp from a jaif file."""
+import os
+
+PACKAGE_STRING = 'package '
+CLASS_STRING = 'class '
+SRC_PREFIX = 'ojluni/src/main/java/'
+
+BP_TEMPLATE = '''filegroup {
+ name: "annotated_ojluni_files",
+ export_to_make_var: "annotated_ojluni_files",
+ srcs: [
+%s
+ ],
+}'''
+
+srcs_list = []
+current_package = None
+with open(os.sys.argv[1], 'r') as jaif_file:
+ for line in jaif_file:
+ if line.startswith(PACKAGE_STRING):
+ current_package = line[len(PACKAGE_STRING): line.find(':')]
+ if line.startswith(CLASS_STRING) and current_package is not None:
+ current_class = line[len(CLASS_STRING): line.find(':')]
+ srcs_list.append(SRC_PREFIX + current_package.replace('.', '/') + '/' + current_class + '.java')
+
+print '// Do not edit; generated using libcore/annotations/generate_annotated_java_files.py'
+print BP_TEMPLATE % ('\n'.join([' "' + src_entry + '",' for src_entry in sorted(srcs_list)]),)
+os.sys.exit(0)