Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1731)

Unified Diff: build/android/javac.py

Issue 12853002: Convert java library javac/jar to python (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: build/android/javac.py
diff --git a/build/android/javac.py b/build/android/javac.py
new file mode 100755
index 0000000000000000000000000000000000000000..8607d02d2181ce3ae7c68089662503cd6762bb30
--- /dev/null
+++ b/build/android/javac.py
@@ -0,0 +1,72 @@
+#!/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 fnmatch
+import optparse
+import os
+import subprocess
+import sys
+
+from pylib import build_utils
+
+def DoJavac(options):
+ intermediate_dir = options.intermediate_dir
+
+ srcdirs = build_utils.ParseGypList(options.src_dirs)
Yaron 2013/03/14 23:03:51 nit:src_dirs
cjhopman 2013/03/15 22:44:39 Done.
+ java_files = build_utils.FindInDirectories(srcdirs, '*.java')
+ if len(options.javac_includes) > 0:
Yaron 2013/03/14 23:03:51 nit: omit "> 0"
newt (away) 2013/03/15 03:25:04 nit: omit "len()"
cjhopman 2013/03/15 22:44:39 Done.
cjhopman 2013/03/15 22:44:39 Done.
+ javac_includes = build_utils.ParseGypList(options.javac_includes)
+ filtered_java_files = []
+ for f in java_files:
+ for include in javac_includes:
+ if fnmatch.fnmatch(f, include):
+ filtered_java_files.append(f)
newt (away) 2013/03/15 03:25:04 break (so you don't end up with the same file incl
cjhopman 2013/03/15 22:44:39 Done.
+ java_files = filtered_java_files
+
+ # Compiling guava with certain orderings of input files causes a compiler
+ # crash... Sorted order works, so use that.
Yaron 2013/03/14 23:03:51 nice
cjhopman 2013/03/15 22:44:39 Yeah, isn't it...
+ # See https://code.google.com/p/guava-libraries/issues/detail?id=950
+ java_files = sorted(java_files)
newt (away) 2013/03/15 03:25:04 or java_files.sort()
cjhopman 2013/03/15 22:44:39 Done.
+
+ classpath = build_utils.ParseGypList(options.input_jars_paths)
+
+ build_utils.DeleteDirectory(intermediate_dir)
Yaron 2013/03/14 23:03:51 Add comment about deleting .class files (similar t
cjhopman 2013/03/15 22:44:39 Done.
+ build_utils.EnsureDirectoryExists(intermediate_dir)
+
+ subprocess.check_call(
+ ['javac',
+ '-g',
Yaron 2013/03/14 23:03:51 Shouldn't this indet match the ' above?
cjhopman 2013/03/15 22:44:39 Actually, I think it should match the 'j' or the '
Yaron 2013/03/15 23:13:46 My vi says it should match the quote, but this is
+ '-Xlint:unchecked',
+ '-source', '1.5',
newt (away) 2013/03/15 03:25:04 I thought we used 1.6, but I trust you here
cjhopman 2013/03/15 22:44:39 So, currrently, we use 1.6 for libraries and 1.5 f
+ '-target', '1.5',
+ '-classpath', ':'.join(classpath),
+ '-d', intermediate_dir]
+ + java_files)
+
+
+def main(argv):
+ parser = optparse.OptionParser()
+ parser.add_option('--intermediate-dir')
Yaron 2013/03/14 23:03:51 Can you add the description fields to each of thes
cjhopman 2013/03/15 22:44:39 Done.
+ parser.add_option('--input-jars-paths')
Yaron 2013/03/14 23:03:51 Any reason not to rename this classpath?
cjhopman 2013/03/15 22:44:39 Done.
+ parser.add_option('--javac-includes')
+ parser.add_option('--src-dirs')
+ parser.add_option('--stamp')
+
+ # TODO(newt): remove this once http://crbug.com/177552 is fixed in ninja.
+ parser.add_option('--ignore')
+
+ options, _ = parser.parse_args()
+
+ DoJavac(options)
+
+ if options.stamp:
+ build_utils.Touch(options.stamp)
+
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv))
+
+

Powered by Google App Engine
This is Rietveld 408576698