xref: /aosp_15_r20/external/openscreen/tools/download-clang-update-script.py (revision 3f982cf4871df8771c9d4abe6e9a6f8d829b2736)
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