51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
|
|
#!/usr/bin/env python3
|
||
|
|
# Copyright 2021 The Chromium Authors
|
||
|
|
# Use of this source code is governed by a BSD-style license that can be
|
||
|
|
# found in the LICENSE file.
|
||
|
|
"""Wrapper script around TraceEventAdder script."""
|
||
|
|
|
||
|
|
import argparse
|
||
|
|
import sys
|
||
|
|
import os
|
||
|
|
|
||
|
|
from util import build_utils
|
||
|
|
import action_helpers # build_utils adds //build to sys.path.
|
||
|
|
|
||
|
|
|
||
|
|
def main(argv):
|
||
|
|
argv = build_utils.ExpandFileArgs(argv[1:])
|
||
|
|
parser = argparse.ArgumentParser()
|
||
|
|
action_helpers.add_depfile_arg(parser)
|
||
|
|
parser.add_argument('--script',
|
||
|
|
required=True,
|
||
|
|
help='Path to the java binary wrapper script.')
|
||
|
|
parser.add_argument('--stamp', help='Path to stamp to mark when finished.')
|
||
|
|
parser.add_argument('--classpath', action='append', nargs='+')
|
||
|
|
parser.add_argument('--input-jars', action='append', nargs='+')
|
||
|
|
parser.add_argument('--output-jars', action='append', nargs='+')
|
||
|
|
args = parser.parse_args(argv)
|
||
|
|
|
||
|
|
args.classpath = action_helpers.parse_gn_list(args.classpath)
|
||
|
|
args.input_jars = action_helpers.parse_gn_list(args.input_jars)
|
||
|
|
args.output_jars = action_helpers.parse_gn_list(args.output_jars)
|
||
|
|
|
||
|
|
for output_jar in args.output_jars:
|
||
|
|
jar_dir = os.path.dirname(output_jar)
|
||
|
|
if not os.path.exists(jar_dir):
|
||
|
|
os.makedirs(jar_dir)
|
||
|
|
|
||
|
|
all_input_jars = set(args.classpath + args.input_jars)
|
||
|
|
cmd = [
|
||
|
|
args.script, '--classpath', ':'.join(sorted(all_input_jars)),
|
||
|
|
':'.join(args.input_jars), ':'.join(args.output_jars)
|
||
|
|
]
|
||
|
|
build_utils.CheckOutput(cmd, print_stdout=True)
|
||
|
|
|
||
|
|
build_utils.Touch(args.stamp)
|
||
|
|
|
||
|
|
action_helpers.write_depfile(args.depfile, args.stamp, inputs=all_input_jars)
|
||
|
|
|
||
|
|
|
||
|
|
if __name__ == '__main__':
|
||
|
|
sys.exit(main(sys.argv))
|