1*3f982cf4SFabien Sanglard#!/usr/bin/env python3 2*3f982cf4SFabien Sanglard# Copyright 2020 The Chromium Authors. All rights reserved. 3*3f982cf4SFabien Sanglard# Use of this source code is governed by a BSD-style license that can be 4*3f982cf4SFabien Sanglard# found in the LICENSE file. 5*3f982cf4SFabien Sanglard 6*3f982cf4SFabien Sanglard""" 7*3f982cf4SFabien SanglardThis script is used to download the clang update script. It runs as a gclient 8*3f982cf4SFabien Sanglardhook. 9*3f982cf4SFabien Sanglard 10*3f982cf4SFabien SanglardIt's equivalent to using curl to download the latest update script. 11*3f982cf4SFabien Sanglard""" 12*3f982cf4SFabien Sanglard 13*3f982cf4SFabien Sanglardimport argparse 14*3f982cf4SFabien Sanglardimport curlish 15*3f982cf4SFabien Sanglardimport sys 16*3f982cf4SFabien Sanglard 17*3f982cf4SFabien SanglardSCRIPT_DOWNLOAD_URL = ('https://raw.githubusercontent.com/chromium/' 18*3f982cf4SFabien Sanglard 'chromium/main/tools/clang/scripts/update.py') 19*3f982cf4SFabien Sanglard 20*3f982cf4SFabien Sanglard 21*3f982cf4SFabien Sanglarddef main(): 22*3f982cf4SFabien Sanglard parser = argparse.ArgumentParser(description='Download a file.') 23*3f982cf4SFabien Sanglard parser.add_argument('--output', help='Path to file to create/overwrite.') 24*3f982cf4SFabien Sanglard args = parser.parse_args() 25*3f982cf4SFabien Sanglard 26*3f982cf4SFabien Sanglard if not args.output: 27*3f982cf4SFabien Sanglard print('usage: download-clang-update-script.py --output=/a/b/update.py') 28*3f982cf4SFabien Sanglard return 1 29*3f982cf4SFabien Sanglard 30*3f982cf4SFabien Sanglard return 0 if curlish.curlish(SCRIPT_DOWNLOAD_URL, args.output) else 1 31*3f982cf4SFabien Sanglard 32*3f982cf4SFabien Sanglard 33*3f982cf4SFabien Sanglardif __name__ == '__main__': 34*3f982cf4SFabien Sanglard sys.exit(main()) 35