Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
create.py
Go to the documentation of this file.
1#!/usr/bin/env python3
2#
3# Copyright 2022 Google LLC
4#
5# Use of this source code is governed by a BSD-style license that can be
6# found in the LICENSE file.
7
8
9"""Create the asset."""
10
11
12import argparse
13import os
14import shutil
15import subprocess
16import sys
17
18FILE_DIR = os.path.dirname(os.path.abspath(__file__))
19INFRA_BOTS_DIR = os.path.realpath(os.path.join(FILE_DIR, os.pardir, os.pardir))
20sys.path.insert(0, INFRA_BOTS_DIR)
21import utils
22
23# https://cloud.google.com/storage/docs/gsutil_install#windows
24URL = "https://storage.googleapis.com/pub/gsutil.zip"
25VERSION = "5.25"
26
27def create_asset(target_dir):
28 """Create the asset."""
29 with utils.tmp_dir():
30 subprocess.run(["curl", URL, "--output", "gsutil.zip"], check=True)
31 subprocess.run(["unzip", "gsutil.zip"], check=True)
32 with open("./gsutil/VERSION", "r") as f:
33 version = f.read().strip()
34 if version != VERSION:
35 raise RuntimeError("Action version %s does not match expected version %s"
36 % (version, VERSION))
37 shutil.move('./gsutil', target_dir)
38
39
40def main():
41 parser = argparse.ArgumentParser()
42 parser.add_argument('--target_dir', '-t', required=True)
43 args = parser.parse_args()
44 create_asset(args.target_dir)
45
46
47if __name__ == '__main__':
48 main()
49
Definition main.py:1