| #!/usr/bin/env python3 | |
| # | |
| # Copyright 2013 The Flutter Authors. All rights reserved. | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file. | |
| import argparse | |
| import errno | |
| import os | |
| import shutil | |
| import sys | |
| def main(): | |
| parser = argparse.ArgumentParser( | |
| description='Removes existing files and installs the specified headers' + | |
| 'at the given location.' | |
| ) | |
| parser.add_argument( | |
| '--headers', nargs='+', help='The headers to install at the location.', required=True | |
| ) | |
| parser.add_argument('--location', type=str, required=True) | |
| args = parser.parse_args() | |
| # Remove old headers. | |
| try: | |
| shutil.rmtree(os.path.normpath(args.location)) | |
| except OSError as err: | |
| # Ignore only "not found" errors. | |
| if err.errno != errno.ENOENT: | |
| raise err | |
| # Create the directory to copy the files to. | |
| if not os.path.isdir(args.location): | |
| os.makedirs(args.location) | |
| # Copy all files specified in the args. | |
| for header_file in args.headers: | |
| shutil.copyfile(header_file, os.path.join(args.location, os.path.basename(header_file))) | |
| if __name__ == '__main__': | |
| sys.exit(main()) |