Home | History | Annotate | Download | only in gyp
      1 #!/usr/bin/env python
      2 #
      3 # Copyright 2014 The Chromium Authors. All rights reserved.
      4 # Use of this source code is governed by a BSD-style license that can be
      5 # found in the LICENSE file.
      6 
      7 """Merges a list of jars into a single jar."""
      8 
      9 import optparse
     10 import sys
     11 
     12 from util import build_utils
     13 
     14 def main(args):
     15   args = build_utils.ExpandFileArgs(args)
     16   parser = optparse.OptionParser()
     17   build_utils.AddDepfileOption(parser)
     18   parser.add_option('--output', help='Path to output jar.')
     19   parser.add_option('--inputs', action='append', help='List of jar inputs.')
     20   options, _ = parser.parse_args(args)
     21   build_utils.CheckOptions(options, parser, ['output', 'inputs'])
     22 
     23   input_jars = []
     24   for inputs_arg in options.inputs:
     25     input_jars.extend(build_utils.ParseGypList(inputs_arg))
     26 
     27   build_utils.MergeZips(options.output, input_jars)
     28 
     29   if options.depfile:
     30     build_utils.WriteDepfile(
     31         options.depfile,
     32         input_jars + build_utils.GetPythonDependencies())
     33 
     34 
     35 if __name__ == '__main__':
     36   sys.exit(main(sys.argv[1:]))
     37