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