1[
2  {
3    "cmd": [
4      "python",
5      "-u",
6      "\nfrom __future__ import print_function\nimport subprocess\nimport sys\n\nwhich = 'where' if sys.platform == 'win32' else 'which'\ngit = subprocess.check_output([which, 'git'])\nprint('git was found at %s' % git)\nif 'cipd_bin_packages' not in git:\n  print('Git must be obtained through CIPD.', file=sys.stderr)\n  sys.exit(1)\n"
7    ],
8    "env": {
9      "CHROME_HEADLESS": "1",
10      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
11    },
12    "name": "Assert that Git is from CIPD",
13    "~followup_annotations": [
14      "@@@STEP_LOG_LINE@python.inline@@@@",
15      "@@@STEP_LOG_LINE@python.inline@from __future__ import print_function@@@",
16      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
17      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
18      "@@@STEP_LOG_LINE@python.inline@@@@",
19      "@@@STEP_LOG_LINE@python.inline@which = 'where' if sys.platform == 'win32' else 'which'@@@",
20      "@@@STEP_LOG_LINE@python.inline@git = subprocess.check_output([which, 'git'])@@@",
21      "@@@STEP_LOG_LINE@python.inline@print('git was found at %s' % git)@@@",
22      "@@@STEP_LOG_LINE@python.inline@if 'cipd_bin_packages' not in git:@@@",
23      "@@@STEP_LOG_LINE@python.inline@  print('Git must be obtained through CIPD.', file=sys.stderr)@@@",
24      "@@@STEP_LOG_LINE@python.inline@  sys.exit(1)@@@",
25      "@@@STEP_LOG_END@python.inline@@@"
26    ]
27  },
28  {
29    "cmd": [
30      "vpython",
31      "-u",
32      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
33      "--json-output",
34      "/path/to/tmp/json",
35      "rmtree",
36      "[START_DIR]/cache/work/flutter"
37    ],
38    "infra_step": true,
39    "name": "rmtree flutter"
40  },
41  {
42    "cmd": [
43      "vpython",
44      "-u",
45      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
46      "--json-output",
47      "/path/to/tmp/json",
48      "ensure-directory",
49      "--mode",
50      "0777",
51      "[START_DIR]/cache/work/flutter"
52    ],
53    "infra_step": true,
54    "name": "makedirs checkout_path"
55  },
56  {
57    "cmd": [
58      "vpython",
59      "-u",
60      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
61      "--json-output",
62      "/path/to/tmp/json",
63      "remove",
64      "[START_DIR]/cache/work/flutter/.gclient_entries"
65    ],
66    "infra_step": true,
67    "name": "remove [START_DIR]/cache/work/flutter/.gclient_entries"
68  },
69  {
70    "cmd": [
71      "python",
72      "-u",
73      "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
74      "--spec-path",
75      "cache_dir = '[START_DIR]/cache/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src/flutter', 'url': 'https://github.com/flutter/engine.git'}]\ntarget_os = ['android']",
76      "--patch_root",
77      "src/third_party/skia",
78      "--revision_mapping_file",
79      "{\"got_flutter_revision\": \"src/flutter\", \"got_revision\": \"src/third_party/skia\"}",
80      "--git-cache-dir",
81      "[START_DIR]/cache/git",
82      "--cleanup-dir",
83      "[CLEANUP]/bot_update",
84      "--output_json",
85      "/path/to/tmp/json",
86      "--patch_ref",
87      "https://skia.googlesource.com/skia.git@abc123:refs/changes/89/456789/12",
88      "--revision",
89      "src/flutter@origin/master",
90      "--revision",
91      "src/third_party/skia@abc123"
92    ],
93    "cwd": "[START_DIR]/cache/work/flutter",
94    "env": {
95      "DEPOT_TOOLS_COLLECT_METRICS": "0",
96      "GIT_HTTP_LOW_SPEED_LIMIT": "102400",
97      "GIT_HTTP_LOW_SPEED_TIME": "1800"
98    },
99    "env_suffixes": {
100      "DEPOT_TOOLS_UPDATE": [
101        "0"
102      ],
103      "PATH": [
104        "RECIPE_REPO[depot_tools]"
105      ]
106    },
107    "infra_step": true,
108    "name": "bot_update",
109    "~followup_annotations": [
110      "@@@STEP_TEXT@Some step text@@@",
111      "@@@STEP_LOG_LINE@json.output@{@@@",
112      "@@@STEP_LOG_LINE@json.output@  \"did_run\": true, @@@",
113      "@@@STEP_LOG_LINE@json.output@  \"fixed_revisions\": {@@@",
114      "@@@STEP_LOG_LINE@json.output@    \"src/flutter\": \"origin/master\", @@@",
115      "@@@STEP_LOG_LINE@json.output@    \"src/third_party/skia\": \"abc123\"@@@",
116      "@@@STEP_LOG_LINE@json.output@  }, @@@",
117      "@@@STEP_LOG_LINE@json.output@  \"manifest\": {@@@",
118      "@@@STEP_LOG_LINE@json.output@    \"src/flutter\": {@@@",
119      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/src/flutter.git\", @@@",
120      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"a1681567f61ff6b59df53546991904bbf6eda393\"@@@",
121      "@@@STEP_LOG_LINE@json.output@    }, @@@",
122      "@@@STEP_LOG_LINE@json.output@    \"src/third_party/skia\": {@@@",
123      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/src/third_party/skia.git\", @@@",
124      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"abc123\"@@@",
125      "@@@STEP_LOG_LINE@json.output@    }@@@",
126      "@@@STEP_LOG_LINE@json.output@  }, @@@",
127      "@@@STEP_LOG_LINE@json.output@  \"patch_failure\": false, @@@",
128      "@@@STEP_LOG_LINE@json.output@  \"patch_root\": \"src/third_party/skia\", @@@",
129      "@@@STEP_LOG_LINE@json.output@  \"properties\": {@@@",
130      "@@@STEP_LOG_LINE@json.output@    \"got_flutter_revision\": \"a1681567f61ff6b59df53546991904bbf6eda393\", @@@",
131      "@@@STEP_LOG_LINE@json.output@    \"got_flutter_revision_cp\": \"refs/heads/master@{#84512}\", @@@",
132      "@@@STEP_LOG_LINE@json.output@    \"got_revision\": \"abc123\", @@@",
133      "@@@STEP_LOG_LINE@json.output@    \"got_revision_cp\": \"refs/heads/main@{#143121}\"@@@",
134      "@@@STEP_LOG_LINE@json.output@  }, @@@",
135      "@@@STEP_LOG_LINE@json.output@  \"root\": \"src/flutter\", @@@",
136      "@@@STEP_LOG_LINE@json.output@  \"source_manifest\": {@@@",
137      "@@@STEP_LOG_LINE@json.output@    \"directories\": {@@@",
138      "@@@STEP_LOG_LINE@json.output@      \"src/flutter\": {@@@",
139      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
140      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/src/flutter.git\", @@@",
141      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"a1681567f61ff6b59df53546991904bbf6eda393\"@@@",
142      "@@@STEP_LOG_LINE@json.output@        }@@@",
143      "@@@STEP_LOG_LINE@json.output@      }, @@@",
144      "@@@STEP_LOG_LINE@json.output@      \"src/third_party/skia\": {@@@",
145      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
146      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/src/third_party/skia.git\", @@@",
147      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"abc123\"@@@",
148      "@@@STEP_LOG_LINE@json.output@        }@@@",
149      "@@@STEP_LOG_LINE@json.output@      }@@@",
150      "@@@STEP_LOG_LINE@json.output@    }, @@@",
151      "@@@STEP_LOG_LINE@json.output@    \"version\": 0@@@",
152      "@@@STEP_LOG_LINE@json.output@  }, @@@",
153      "@@@STEP_LOG_LINE@json.output@  \"step_text\": \"Some step text\"@@@",
154      "@@@STEP_LOG_LINE@json.output@}@@@",
155      "@@@STEP_LOG_END@json.output@@@",
156      "@@@SET_BUILD_PROPERTY@got_flutter_revision@\"a1681567f61ff6b59df53546991904bbf6eda393\"@@@",
157      "@@@SET_BUILD_PROPERTY@got_flutter_revision_cp@\"refs/heads/master@{#84512}\"@@@",
158      "@@@SET_BUILD_PROPERTY@got_revision@\"abc123\"@@@",
159      "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/main@{#143121}\"@@@"
160    ]
161  },
162  {
163    "cmd": [
164      "python",
165      "-u",
166      "RECIPE_REPO[depot_tools]/gclient.py",
167      "runhooks"
168    ],
169    "cwd": "[START_DIR]/cache/work/flutter",
170    "env": {
171      "DEPOT_TOOLS_UPDATE": "0"
172    },
173    "env_suffixes": {
174      "PATH": [
175        "RECIPE_REPO[depot_tools]"
176      ]
177    },
178    "name": "gclient runhooks"
179  },
180  {
181    "cmd": [
182      "vpython",
183      "-u",
184      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
185      "--json-output",
186      "/path/to/tmp/json",
187      "ensure-directory",
188      "--mode",
189      "0777",
190      "[START_DIR]/tmp"
191    ],
192    "infra_step": true,
193    "name": "makedirs tmp_dir"
194  },
195  {
196    "name": "$result"
197  }
198]