Esempio n. 1
0
def main():
  parser = optparse.OptionParser()
  build_utils.AddDepfileOption(parser)
  parser.add_option('--src-dir', action="append",
      help='Directory containing .java files.')
  parser.add_option('--jar-path', help='Jar output path.')
  parser.add_option('--stamp', help='Path to touch on success.')

  options, _ = parser.parse_args()

  src_dirs = []
  for src_dir in options.src_dir:
    src_dirs.extend(build_utils.ParseGypList(src_dir))

  for src_dir in src_dirs:
    JarSources(src_dir, options.jar_path)

  if options.depfile:
    input_paths = []
    for src_dir in src_dirs:
      for root, _, filenames in os.walk(src_dir):
        input_paths.extend(os.path.join(root, f) for f in filenames)
    build_utils.WriteDepfile(options.depfile,
                             input_paths + build_utils.GetPythonDependencies())

  if options.stamp:
    build_utils.Touch(options.stamp)
Esempio n. 2
0
def main():
  parser = optparse.OptionParser()
  parser.add_option('--src-path', action="append", help='Directory containing .java files.')
  parser.add_option('--gen-path', action="append", help='Directory containing generated .java files, separated by a comma from the target path (e.g., org/chromium/net).')
  parser.add_option('--target-path', help='Directory for installing all Java files.')
  parser.add_option('--jar-path', help='Jar output path.')
  parser.add_option('--stamp', help='Path to touch on success.')

  options, _ = parser.parse_args()

  files = {}
  if options.src_path:
    for src_path in options.src_path:
      FindSources(src_path, files)
  if options.gen_path:
    for gen_pair in options.gen_path:
      gen_path, rel_path = gen_pair.split(",")
      FindGenSources(gen_path, rel_path, files)

  if options.target_path:
    InstallFiles(options.target_path, files)
    if options.jar_path:
      JarSources(options.target_path, options.jar_path)

  if options.stamp:
    build_utils.Touch(options.stamp)
def main():
  parser = optparse.OptionParser()
  parser.add_option('--classes-dir', help='Directory to extract .class files.')
  parser.add_option('--jars', help='Paths to jars to extract.')
  parser.add_option('--stamp', help='Path to touch on success.')

  options, _ = parser.parse_args()

  ExtractJars(options)

  if options.stamp:
    build_utils.Touch(options.stamp)
Esempio n. 4
0
def main():
    parser = optparse.OptionParser()
    parser.add_option('--src-dir', help='Directory containing .java files.')
    parser.add_option('--jar-path', help='Jar output path.')
    parser.add_option('--stamp', help='Path to touch on success.')

    options, _ = parser.parse_args()

    JarSources(options.src_dir, options.jar_path)

    if options.stamp:
        build_utils.Touch(options.stamp)
Esempio n. 5
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('--classpath',
                        required=True,
                        action='append',
                        help='What to use as javadoc\'s classpath. Can be '
                        'specified multiple times.')
    parser.add_argument('--input-srcjar',
                        help='Source JAR containing more files to process.')
    parser.add_argument('--java-files',
                        required=True,
                        help='Java files to process.')
    parser.add_argument('--output-dir',
                        required=True,
                        help='Directory to store the documentation.')
    parser.add_argument('--srcjar-files',
                        help='When specified, only process the given files '
                        'inside the srcjar set via --input-srcjar.')
    parser.add_argument('--stamp',
                        required=True,
                        help='File to touch on success.')

    options = parser.parse_args(build_utils.ExpandFileArgs(sys.argv[1:]))
    options.java_files = build_utils.ParseGypList(options.java_files)

    if options.srcjar_files and options.input_srcjar is None:
        print '--srcjar-files specified without --input-srcjar. Ignoring files.'

    with build_utils.TempDir() as temp_dir:
        java_files = options.java_files
        if options.input_srcjar:
            if options.srcjar_files:
                pattern = lambda f: f in options.srcjar_files
                java_files += [
                    os.path.join(temp_dir, f)
                    for f in build_utils.ParseGypList(options.srcjar_files)
                ]
            else:
                pattern = None
                java_files += [os.path.join(temp_dir, '*.java')]
            build_utils.ExtractAll(options.input_srcjar, path=temp_dir)

        classpath = ':'.join(options.classpath)
        javadoc_cmd = [
            'javadoc', '-d', options.output_dir, '-classpath', classpath
        ]
        javadoc_cmd.extend(java_files)

        build_utils.CheckOutput(javadoc_cmd, print_stderr=True)

    build_utils.Touch(options.stamp)
Esempio n. 6
0
def main(args):
    parser = argparse.ArgumentParser(
        description='Check modules do not contain ARM Neon instructions.')
    parser.add_argument('objdump', metavar='path/to/ARM/objdump')
    parser.add_argument('objects', metavar='files/to/check/*.o')
    parser.add_argument('--stamp', help='Path to touch on success.')
    opts = parser.parse_args(args)
    ret = os.system(opts.objdump + ' -d --no-show-raw-insn ' + opts.objects +
                    ' | grep -q "vld[1-9]\\|vst[1-9]"')

    # Non-zero exit code means no neon.
    if ret and opts.stamp:
        build_utils.Touch(opts.stamp)
    return ret
Esempio n. 7
0
def main():
    parser = optparse.OptionParser()
    build_utils.AddDepfileOption(parser)
    parser.add_option('--src-dir',
                      action="append",
                      help='Directory containing .java files.')
    parser.add_option(
        '--src-jars',
        action="append",
        help='A list of source jars to include in addition to source files.')
    parser.add_option('--jar-path', help='Jar output path.')
    parser.add_option('--stamp', help='Path to touch on success.')

    options, _ = parser.parse_args()

    # A temporary directory to put the output of jar files.
    unzipped_jar_path = None
    if options.src_jars:
        unzipped_jar_path = tempfile.mkdtemp(
            dir=os.path.dirname(options.jar_path))
        jar_list = []
        for gn_list in options.src_jars:
            jar_list.extend(build_utils.ParseGnList(gn_list))

        for jar in jar_list:
            UnzipSourceJar(jar, unzipped_jar_path)

    src_dirs = []
    for src_dir in options.src_dir:
        src_dirs.extend(build_utils.ParseGnList(src_dir))
    if unzipped_jar_path:
        src_dirs += [unzipped_jar_path]

    for src_dir in src_dirs:
        JarSources(src_dir, options.jar_path)

    if options.depfile:
        input_paths = []
        for src_dir in src_dirs:
            for root, _, filenames in os.walk(src_dir):
                input_paths.extend(os.path.join(root, f) for f in filenames)
        build_utils.WriteDepfile(
            options.depfile, input_paths + build_utils.GetPythonDependencies())
    # Clean up temporary output directory.
    if unzipped_jar_path:
        build_utils.DeleteDirectory(unzipped_jar_path)

    if options.stamp:
        build_utils.Touch(options.stamp)
def main():
    parser = optparse.OptionParser()
    build_utils.AddDepfileOption(parser)
    parser.add_option('--project-dir', help='Gradle project directory.')
    parser.add_option('--stamp', help='Path to touch on success.')

    options, _ = parser.parse_args()

    BuildWithGradle(options)

    if options.depfile:
        assert options.stamp
        build_utils.WriteDepfile(options.depfile, options.stamp)

    if options.stamp:
        build_utils.Touch(options.stamp)
Esempio n. 9
0
def main():
    parser = optparse.OptionParser()
    build_utils.AddDepfileOption(parser)
    parser.add_option('--classes-dir',
                      help='Directory to extract .class files.')
    parser.add_option('--jars', help='Paths to jars to extract.')
    parser.add_option('--stamp', help='Path to touch on success.')

    options, _ = parser.parse_args()

    ExtractJars(options)

    if options.depfile:
        build_utils.WriteDepfile(options.depfile,
                                 build_utils.GetPythonDependencies())

    if options.stamp:
        build_utils.Touch(options.stamp)
Esempio n. 10
0
def main(args):
  parser = argparse.ArgumentParser(
      description='Enforce Cronet API requirements.')
  parser.add_argument('--api_jar',
                      help='Path to API jar (i.e. cronet_api.jar)',
                      required=True,
                      metavar='path/to/cronet_api.jar')
  parser.add_argument('--impl_jar',
                      help='Path to implementation jar '
                          '(i.e. cronet_impl_native_java.jar)',
                      required=True,
                      metavar='path/to/cronet_impl_native_java.jar',
                      action='append')
  parser.add_argument('--stamp', help='Path to touch on success.')
  opts = parser.parse_args(args)

  ret = True
  ret = check_api_calls(opts) and ret
  ret = check_api_version(opts) and ret
  if ret and opts.stamp:
    build_utils.Touch(opts.stamp)
  return ret
def main():
    parser = optparse.OptionParser()
    build_utils.AddDepfileOption(parser)
    parser.add_option('--output-dir', help='Directory to put javadoc')
    parser.add_option('--input-dir', help='Root of cronet source')
    parser.add_option('--input-src-jar', help='Cronet api source jar')
    parser.add_option('--overview-file', help='Path of the overview page')
    parser.add_option('--readme-file', help='Path of the README.md')
    parser.add_option('--lib-java-dir', help='Directory containing java libs')
    parser.add_option('--stamp', help='Path to touch on success.')

    options, _ = parser.parse_args()
    # A temporary directory to put the output of cronet api source jar files.
    unzipped_jar_path = tempfile.mkdtemp(dir=options.output_dir)
    if os.path.exists(options.input_src_jar):
        jar_cmd = ['jar', 'xf', os.path.abspath(options.input_src_jar)]
        build_utils.CheckOutput(jar_cmd, cwd=unzipped_jar_path)
    else:
        raise Exception('Jar file does not exist: %s' % options.input_src_jar)

    net_docs.ProcessDocs([options.readme_file],
                         options.input_dir,
                         options.output_dir,
                         extensions=[CronetExtension()])

    GenerateJavadoc(options, os.path.abspath(unzipped_jar_path))

    if options.stamp:
        build_utils.Touch(options.stamp)
    if options.depfile:
        assert options.stamp
        deps = []
        for root, _, filenames in os.walk(options.input_dir):
            deps.extend(os.path.join(root, f) for f in filenames)
        build_utils.WriteDepfile(options.depfile, options.stamp, deps)
    # Clean up temporary output directory.
    build_utils.DeleteDirectory(unzipped_jar_path)
Esempio n. 12
0
def main():
    parser = optparse.OptionParser()
    build_utils.AddDepfileOption(parser)
    parser.add_option('--src-search-dirs',
                      action="append",
                      help='A list of directories that should be searched'
                      ' for the source files.')
    parser.add_option('--src-files',
                      action="append",
                      help='A list of source files to jar.')
    parser.add_option(
        '--src-jars',
        action="append",
        help='A list of source jars to include in addition to source files.')
    parser.add_option('--src-list-files',
                      action="append",
                      help='A list of files that contain a list of sources,'
                      ' e.g. a list of \'.sources\' files generated by GN.')
    parser.add_option('--jar-path', help='Jar output path.')
    parser.add_option('--stamp', help='Path to touch on success.')

    options, _ = parser.parse_args()

    # A temporary directory to put the output of jar files.
    unzipped_jar_path = None
    if options.src_jars:
        unzipped_jar_path = tempfile.mkdtemp(
            dir=os.path.dirname(options.jar_path))
        jar_list = []
        for gn_list in options.src_jars:
            jar_list.extend(build_utils.ParseGnList(gn_list))

        for jar in jar_list:
            UnzipSourceJar(jar, unzipped_jar_path)

    src_search_dirs = []
    for gn_src_search_dirs in options.src_search_dirs:
        src_search_dirs.extend(build_utils.ParseGnList(gn_src_search_dirs))

    src_list_files = []
    if options.src_list_files:
        for gn_src_list_file in options.src_list_files:
            src_list_files.extend(build_utils.ParseGnList(gn_src_list_file))

    src_files = []
    for gn_src_files in options.src_files:
        src_files.extend(build_utils.ParseGnList(gn_src_files))

    # Add files from --source_list_files
    for src_list_file in src_list_files:
        with open(src_list_file, 'r') as f:
            src_files.extend(f.read().splitlines())

    # Preprocess source files by removing any prefix that comes before
    # the Java package name.
    for i, s in enumerate(src_files):
        prefix_position = s.find(JAVA_PACKAGE_PREFIX)
        if prefix_position != -1:
            src_files[i] = s[prefix_position:]

    # Create a dictionary that maps every source directory
    # to source files that it contains.
    dir_to_files_map = {}
    # Initialize the map.
    for src_search_dir in src_search_dirs:
        dir_to_files_map[src_search_dir] = []
    # Fill the map.
    for src_file in src_files:
        number_of_file_instances = 0
        for src_search_dir in src_search_dirs:
            if os.path.isfile(os.path.join(src_search_dir, src_file)):
                number_of_file_instances += 1
                dir_to_files_map[src_search_dir].append(src_file)
        if (number_of_file_instances > 1):
            raise Exception(
                'There is more than one instance of file %s in %s' %
                (src_file, src_search_dirs))
        if (number_of_file_instances < 1):
            raise Exception('Unable to find file %s in %s' %
                            (src_file, src_search_dirs))

    # Delete the old output file if any.
    if os.path.isfile(options.jar_path):
        os.remove(options.jar_path)

    # Jar the sources from every source search directory.
    for src_search_dir in src_search_dirs:
        if len(dir_to_files_map[src_search_dir]) > 0:
            JarSources(src_search_dir, dir_to_files_map[src_search_dir],
                       options.jar_path)
        else:
            raise Exception(
                'Directory %s does not contain any files and can be'
                ' removed from the list of directories to search' %
                src_search_dir)

    # Jar additional src jars
    if unzipped_jar_path:
        JarSources(unzipped_jar_path, ['.'], options.jar_path)

    if options.depfile:
        deps = []
        for src_dir in src_search_dirs:
            for root, _, filenames in os.walk(src_dir):
                deps.extend(os.path.join(root, f) for f in filenames)
        # Srcjar deps already captured in GN rules (no need to list them here).
        build_utils.WriteDepfile(options.depfile, options.jar_path, deps)

    # Clean up temporary output directory.
    if unzipped_jar_path:
        build_utils.DeleteDirectory(unzipped_jar_path)

    if options.stamp:
        build_utils.Touch(options.stamp)