summaryrefslogtreecommitdiff
path: root/annotations/generate_annotated_java_files.py
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2017-10-31 15:24:10 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-10-31 15:24:10 +0000
commit9a147611c921787ef3e229c0ed8d0dccf7e77f67 (patch)
tree69c2ecd5cd5b45e40e74db53a1ca1bc7ea13d9e0 /annotations/generate_annotated_java_files.py
parentd30929ba8cfcf9ac0d064759bd0f44e83e9b9999 (diff)
parentfb7218e7ced6dae1654ffc723835bda6e3696ac7 (diff)
Merge "Revert "Revert "Add makefile targets for ojluni jaif-annotated source files."""
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)