blob: 3f056a7a411cc853db8a0ff842f2f77fb1af5900 [file] [log] [blame]
#!/usr/bin/env python
#
# Copyright 2014 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.
"""Merges a list of jars into a single jar."""
import optparse
import re
import sys
from util import build_utils
def main(args):
args = build_utils.ExpandFileArgs(args)
parser = optparse.OptionParser()
build_utils.AddDepfileOption(parser)
parser.add_option('--output', help='Path to output jar.')
parser.add_option('--use-ijars', action='store_true',
help='Use .interface.jar rather than the given jars.')
parser.add_option('--inputs', action='append', help='List of jar inputs.')
options, _ = parser.parse_args(args)
build_utils.CheckOptions(options, parser, ['output', 'inputs'])
input_jars = []
for inputs_arg in options.inputs:
input_jars.extend(build_utils.ParseGypList(inputs_arg))
if options.use_ijars:
ijar_re = re.compile(r'\.jar$')
input_jars = [ijar_re.sub('.interface.jar', p) for p in input_jars]
build_utils.MergeZips(options.output, input_jars)
if options.depfile:
build_utils.WriteDepfile(
options.depfile,
input_jars + build_utils.GetPythonDependencies())
if __name__ == '__main__':
sys.exit(main(sys.argv[1:]))