| Index: build/android/gyp/javac.py
|
| diff --git a/build/android/gyp/javac.py b/build/android/gyp/javac.py
|
| index 1f6d1ba0059e22b7af164ea0af5bfcf242873bce..e8cee1ce7f72e8040e672ba57769adaebd81dff2 100755
|
| --- a/build/android/gyp/javac.py
|
| +++ b/build/android/gyp/javac.py
|
| @@ -69,46 +69,6 @@ def _FilterJavaFiles(paths, filters):
|
| _MAX_MANIFEST_LINE_LEN = 72
|
|
|
|
|
| -def _CreateManifest(manifest_path, classpath, main_class=None,
|
| - manifest_entries=None):
|
| - """Creates a manifest file with the given parameters.
|
| -
|
| - This generates a manifest file that compiles with the spec found at
|
| - http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#JAR_Manifest
|
| -
|
| - Args:
|
| - manifest_path: The path to the manifest file that should be created.
|
| - classpath: The JAR files that should be listed on the manifest file's
|
| - classpath.
|
| - main_class: If present, the class containing the main() function.
|
| - manifest_entries: If present, a list of (key, value) pairs to add to
|
| - the manifest.
|
| -
|
| - """
|
| - output = ['Manifest-Version: 1.0']
|
| - if main_class:
|
| - output.append('Main-Class: %s' % main_class)
|
| - if manifest_entries:
|
| - for k, v in manifest_entries:
|
| - output.append('%s: %s' % (k, v))
|
| - if classpath:
|
| - sanitized_paths = []
|
| - for path in classpath:
|
| - sanitized_paths.append(os.path.basename(path.strip('"')))
|
| - output.append('Class-Path: %s' % ' '.join(sanitized_paths))
|
| - output.append('Created-By: ')
|
| - output.append('')
|
| -
|
| - wrapper = textwrap.TextWrapper(break_long_words=True,
|
| - drop_whitespace=False,
|
| - subsequent_indent=' ',
|
| - width=_MAX_MANIFEST_LINE_LEN - 2)
|
| - output = '\r\n'.join(w for l in output for w in wrapper.wrap(l))
|
| -
|
| - with open(manifest_path, 'w') as f:
|
| - f.write(output)
|
| -
|
| -
|
| def _ExtractClassFiles(jar_path, dest_dir, java_files):
|
| """Extracts all .class files not corresponding to |java_files|."""
|
| # Two challenges exist here:
|
| @@ -160,8 +120,7 @@ def _FixTempPathsInIncrementalMetadata(pdb_path, temp_dir):
|
| fileobj.write(re.sub(r'/tmp/[^/]*', temp_dir, pdb_data))
|
|
|
|
|
| -def _OnStaleMd5(changes, options, javac_cmd, java_files, classpath_inputs,
|
| - runtime_classpath):
|
| +def _OnStaleMd5(changes, options, javac_cmd, java_files, classpath_inputs):
|
| with build_utils.TempDir() as temp_dir:
|
| srcjars = options.java_srcjars
|
| # The .excluded.jar contains .class files excluded from the main jar.
|
| @@ -263,23 +222,12 @@ def _OnStaleMd5(changes, options, javac_cmd, java_files, classpath_inputs,
|
| # Make sure output exists.
|
| build_utils.Touch(pdb_path)
|
|
|
| - if options.main_class or options.manifest_entry:
|
| - entries = []
|
| - if options.manifest_entry:
|
| - entries = [e.split(':') for e in options.manifest_entry]
|
| - manifest_file = os.path.join(temp_dir, 'manifest')
|
| - _CreateManifest(manifest_file, runtime_classpath, options.main_class,
|
| - entries)
|
| - else:
|
| - manifest_file = None
|
| -
|
| glob = options.jar_excluded_classes
|
| inclusion_predicate = lambda f: not build_utils.MatchesGlob(f, glob)
|
| exclusion_predicate = lambda f: not inclusion_predicate(f)
|
|
|
| jar.JarDirectory(classes_dir,
|
| options.jar_path,
|
| - manifest_file=manifest_file,
|
| predicate=inclusion_predicate)
|
| jar.JarDirectory(classes_dir,
|
| excluded_jar_path,
|
| @@ -310,10 +258,6 @@ def _ParseOptions(argv):
|
| help='Classpath for javac. If this is specified multiple times, they '
|
| 'will all be appended to construct the classpath.')
|
| parser.add_option(
|
| - '--use-ijars',
|
| - action='store_true',
|
| - help='Whether to use interface jars (.interface.jar) when compiling')
|
| - parser.add_option(
|
| '--incremental',
|
| action='store_true',
|
| help='Whether to re-use .class files rather than recompiling them '
|
| @@ -327,26 +271,15 @@ def _ParseOptions(argv):
|
| '--jar-excluded-classes',
|
| default='',
|
| help='List of .class file patterns to exclude from the jar.')
|
| -
|
| parser.add_option(
|
| '--chromium-code',
|
| type='int',
|
| help='Whether code being compiled should be built with stricter '
|
| 'warnings for chromium code.')
|
| -
|
| parser.add_option(
|
| '--use-errorprone-path',
|
| help='Use the Errorprone compiler at this path.')
|
| -
|
| parser.add_option('--jar-path', help='Jar output path.')
|
| - parser.add_option(
|
| - '--main-class',
|
| - help='The class containing the main method.')
|
| - parser.add_option(
|
| - '--manifest-entry',
|
| - action='append',
|
| - help='Key:value pairs to add to the .jar manifest.')
|
| -
|
| parser.add_option('--stamp', help='Path to touch on success.')
|
|
|
| options, args = parser.parse_args(argv)
|
| @@ -387,13 +320,6 @@ def main(argv):
|
|
|
| java_files = _FilterJavaFiles(java_files, options.javac_includes)
|
|
|
| - runtime_classpath = options.classpath
|
| - compile_classpath = runtime_classpath
|
| - if options.use_ijars:
|
| - ijar_re = re.compile(r'\.jar$')
|
| - compile_classpath = (
|
| - [ijar_re.sub('.interface.jar', p) for p in runtime_classpath])
|
| -
|
| javac_cmd = ['javac']
|
| if options.use_errorprone_path:
|
| javac_cmd = [options.use_errorprone_path] + ERRORPRONE_OPTIONS
|
| @@ -403,7 +329,7 @@ def main(argv):
|
| # Chromium only allows UTF8 source files. Being explicit avoids
|
| # javac pulling a default encoding from the user's environment.
|
| '-encoding', 'UTF-8',
|
| - '-classpath', ':'.join(compile_classpath),
|
| + '-classpath', ':'.join(options.classpath),
|
| # Prevent compiler from compiling .java files not listed as inputs.
|
| # See: http://blog.ltgt.net/most-build-tools-misuse-javac/
|
| '-sourcepath', ''
|
| @@ -426,10 +352,8 @@ def main(argv):
|
|
|
| classpath_inputs = options.bootclasspath
|
| # TODO(agrieve): Remove this .TOC heuristic once GYP is no more.
|
| - if options.use_ijars:
|
| - classpath_inputs.extend(compile_classpath)
|
| - else:
|
| - for path in compile_classpath:
|
| + if options.classpath and not options.classpath[0].endswith('.interface.jar'):
|
| + for path in options.classpath:
|
| if os.path.exists(path + '.TOC'):
|
| classpath_inputs.append(path + '.TOC')
|
| else:
|
| @@ -453,7 +377,7 @@ def main(argv):
|
| # of them does not change what gets written to the depsfile.
|
| build_utils.CallAndWriteDepfileIfStale(
|
| lambda changes: _OnStaleMd5(changes, options, javac_cmd, java_files,
|
| - classpath_inputs, runtime_classpath),
|
| + classpath_inputs),
|
| options,
|
| input_paths=input_paths,
|
| input_strings=javac_cmd,
|
|
|