Index: build/android/create_native_libraries_java.py |
diff --git a/build/android/create_native_libraries_java.py b/build/android/create_native_libraries_java.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..4137d9cfe4772267283e848bf6b53e090311c42a |
--- /dev/null |
+++ b/build/android/create_native_libraries_java.py |
@@ -0,0 +1,51 @@ |
+#!/usr/bin/env python |
+# |
+# Copyright 2013 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+import json |
+import optparse |
+import os |
+import sys |
+ |
+from pylib import build_utils |
+ |
+ |
+def main(argv): |
+ parser = optparse.OptionParser() |
+ |
+ parser.add_option('--template', help='Path to the .java template file') |
+ parser.add_option('--output', help='Path to generated .java file') |
+ parser.add_option('--ordered-libraries', |
+ help='Path to json file containing list of ordered libraries') |
+ parser.add_option('--stamp', help='Path to touch on success') |
bulach
2013/03/26 19:02:15
see below, I think we can simplify and make this a
|
+ |
+ # args should be the list of libraries in dependency order. |
+ options, _ = parser.parse_args() |
+ |
+ build_utils.MakeDirectory(os.path.dirname(options.output)) |
+ |
+ with open(options.ordered_libraries, 'r') as libfile: |
+ libraries = json.load(libfile) |
+ # Generates string of the form '= { "base", "net", |
+ # "content_shell_content_view" }' from a list of the form ["libbase.so", |
+ # libnet.so", "libcontent_shell_content_view.so"] |
+ libraries = ['"' + lib[3:-3] + '"' for lib in libraries] |
+ array = '= { ' + ', '.join(libraries) + '}'; |
+ |
+ with open(options.template, 'r') as template: |
+ with open(options.output, 'w') as output: |
+ for line in template.readlines(): |
+ # The template contains a line of the form: |
+ # static String[] libraries /*****/; |
+ output.write(line.replace('/*****/', array)) |
+ |
+ if options.stamp: |
+ build_utils.Touch(options.stamp) |
+ |
+ |
+if __name__ == '__main__': |
+ sys.exit(main(sys.argv)) |
+ |
+ |