1#!/usr/bin/env python 2# 3# Copyright 2016 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"""Creates a simple wrapper script that passes the correct --output-directory. 8""" 9 10import argparse 11import os 12 13_TEMPLATE = """\ 14#!/usr/bin/env python 15# 16# This file was generated by //build/android/gyp/create_tool_script.py 17 18import os 19import sys 20 21cmd = '{cmd}' 22args = [os.path.basename(cmd), '{flag_name}={output_directory}'] + sys.argv[1:] 23os.execv(cmd, args) 24""" 25 26def main(): 27 parser = argparse.ArgumentParser() 28 parser.add_argument('--output', help='Output path for executable script.') 29 parser.add_argument('--target', help='Path to script being wrapped.') 30 parser.add_argument('--output-directory', help='Value for --output-directory') 31 parser.add_argument('--flag-name', 32 help='Flag name to use instead of --output-directory', 33 default='--output-directory') 34 args = parser.parse_args() 35 36 with open(args.output, 'w') as script: 37 script.write(_TEMPLATE.format( 38 cmd=os.path.abspath(args.target), 39 flag_name=args.flag_name, 40 output_directory=os.path.abspath(args.output_directory))) 41 42 os.chmod(args.output, 0750) 43 44 45if __name__ == '__main__': 46 main() 47