1[ 2 { 3 "cmd": [ 4 "python", 5 "-u", 6 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 7 "--json-output", 8 "/path/to/tmp/json", 9 "ensure-directory", 10 "--mode", 11 "0777", 12 "[START_DIR]/cache/work" 13 ], 14 "infra_step": true, 15 "name": "makedirs checkout_path" 16 }, 17 { 18 "cmd": [ 19 "python", 20 "-u", 21 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 22 "--json-output", 23 "/path/to/tmp/json", 24 "remove", 25 "[START_DIR]/cache/work/.gclient_entries" 26 ], 27 "infra_step": true, 28 "name": "remove [START_DIR]/cache/work/.gclient_entries" 29 }, 30 { 31 "cmd": [ 32 "python", 33 "-u", 34 "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", 35 "--spec-path", 36 "cache_dir = '[START_DIR]/cache/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': False, 'name': 'skia', 'url': 'https://skia.googlesource.com/skia.git'}]", 37 "--patch_root", 38 "skia", 39 "--revision_mapping_file", 40 "{\"got_revision\": \"skia\"}", 41 "--git-cache-dir", 42 "[START_DIR]/cache/git", 43 "--cleanup-dir", 44 "[CLEANUP]/bot_update", 45 "--output_json", 46 "/path/to/tmp/json", 47 "--revision", 48 "skia@abc123" 49 ], 50 "cwd": "[START_DIR]/cache/work", 51 "env_suffixes": { 52 "PATH": [ 53 "RECIPE_REPO[depot_tools]" 54 ] 55 }, 56 "infra_step": true, 57 "name": "bot_update", 58 "~followup_annotations": [ 59 "@@@STEP_TEXT@Some step text@@@", 60 "@@@STEP_LOG_LINE@json.output@{@@@", 61 "@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@", 62 "@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@", 63 "@@@STEP_LOG_LINE@json.output@ \"skia\": \"abc123\"@@@", 64 "@@@STEP_LOG_LINE@json.output@ }, @@@", 65 "@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@", 66 "@@@STEP_LOG_LINE@json.output@ \"skia\": {@@@", 67 "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/skia.git\", @@@", 68 "@@@STEP_LOG_LINE@json.output@ \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@", 69 "@@@STEP_LOG_LINE@json.output@ }@@@", 70 "@@@STEP_LOG_LINE@json.output@ }, @@@", 71 "@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@", 72 "@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"skia\", @@@", 73 "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@", 74 "@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\", @@@", 75 "@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#164710}\"@@@", 76 "@@@STEP_LOG_LINE@json.output@ }, @@@", 77 "@@@STEP_LOG_LINE@json.output@ \"root\": \"skia\", @@@", 78 "@@@STEP_LOG_LINE@json.output@ \"source_manifest\": {@@@", 79 "@@@STEP_LOG_LINE@json.output@ \"directories\": {@@@", 80 "@@@STEP_LOG_LINE@json.output@ \"skia\": {@@@", 81 "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@", 82 "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/skia.git\", @@@", 83 "@@@STEP_LOG_LINE@json.output@ \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@", 84 "@@@STEP_LOG_LINE@json.output@ }@@@", 85 "@@@STEP_LOG_LINE@json.output@ }@@@", 86 "@@@STEP_LOG_LINE@json.output@ }, @@@", 87 "@@@STEP_LOG_LINE@json.output@ \"version\": 0@@@", 88 "@@@STEP_LOG_LINE@json.output@ }, @@@", 89 "@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@", 90 "@@@STEP_LOG_LINE@json.output@}@@@", 91 "@@@STEP_LOG_END@json.output@@@", 92 "@@@SET_BUILD_PROPERTY@got_revision@\"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@", 93 "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#164710}\"@@@" 94 ] 95 }, 96 { 97 "cmd": [ 98 "python", 99 "-u", 100 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 101 "--json-output", 102 "/path/to/tmp/json", 103 "ensure-directory", 104 "--mode", 105 "0777", 106 "[START_DIR]/tmp" 107 ], 108 "infra_step": true, 109 "name": "makedirs tmp_dir" 110 }, 111 { 112 "cmd": [ 113 "git", 114 "diff", 115 "--no-ext-diff" 116 ], 117 "cwd": "[START_DIR]/cache/work/skia", 118 "env": { 119 "CHROME_HEADLESS": "1", 120 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 121 }, 122 "name": "git diff #1" 123 }, 124 { 125 "cmd": [ 126 "make", 127 "-C", 128 "tools/gpu/gl/interface", 129 "generate" 130 ], 131 "cwd": "[START_DIR]/cache/work/skia", 132 "env": { 133 "GOCACHE": "[START_DIR]/cache/go_cache", 134 "GOPATH": "[START_DIR]/cache/gopath", 135 "GOROOT": "[START_DIR]/go/go", 136 "PATH": "[START_DIR]/go/go/bin:[START_DIR]/cache/gopath/bin:<PATH>" 137 }, 138 "name": "generate gl interfaces" 139 }, 140 { 141 "cmd": [ 142 "python", 143 "-u", 144 "bin/fetch-gn" 145 ], 146 "cwd": "[START_DIR]/cache/work/skia", 147 "env": { 148 "CHROME_HEADLESS": "1", 149 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 150 }, 151 "infra_step": true, 152 "name": "fetch-gn" 153 }, 154 { 155 "cmd": [ 156 "git", 157 "ls-files", 158 "*.gn" 159 ], 160 "cwd": "[START_DIR]/cache/work/skia", 161 "env": { 162 "CHROME_HEADLESS": "1", 163 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 164 }, 165 "infra_step": true, 166 "name": "list .gn files" 167 }, 168 { 169 "cmd": [ 170 "bin/gn", 171 "format", 172 "BUILD.gn" 173 ], 174 "cwd": "[START_DIR]/cache/work/skia", 175 "env": { 176 "CHROME_HEADLESS": "1", 177 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 178 }, 179 "name": "format BUILD.gn" 180 }, 181 { 182 "cmd": [ 183 "bin/gn", 184 "format", 185 "gn/foo.gn" 186 ], 187 "cwd": "[START_DIR]/cache/work/skia", 188 "env": { 189 "CHROME_HEADLESS": "1", 190 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 191 }, 192 "name": "format gn/foo.gn" 193 }, 194 { 195 "cmd": [ 196 "python", 197 "-u", 198 "tools/rewrite_includes.py" 199 ], 200 "cwd": "[START_DIR]/cache/work/skia", 201 "env": { 202 "CHROME_HEADLESS": "1", 203 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 204 }, 205 "name": "rewrite #includes" 206 }, 207 { 208 "cmd": [ 209 "python", 210 "-u", 211 "import os\nimport subprocess\n\nfor r, d, files in os.walk('[START_DIR]/cache/work/skia'):\n for f in files:\n if f.endswith('.fp'):\n path = os.path.join(r, f)\n print 'touch %s' % path\n subprocess.check_call(['touch', path])\n" 212 ], 213 "cwd": "[START_DIR]/cache/work/skia", 214 "env": { 215 "CHROME_HEADLESS": "1", 216 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 217 }, 218 "name": "touch fp files", 219 "~followup_annotations": [ 220 "@@@STEP_LOG_LINE@python.inline@import os@@@", 221 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 222 "@@@STEP_LOG_LINE@python.inline@@@@", 223 "@@@STEP_LOG_LINE@python.inline@for r, d, files in os.walk('[START_DIR]/cache/work/skia'):@@@", 224 "@@@STEP_LOG_LINE@python.inline@ for f in files:@@@", 225 "@@@STEP_LOG_LINE@python.inline@ if f.endswith('.fp'):@@@", 226 "@@@STEP_LOG_LINE@python.inline@ path = os.path.join(r, f)@@@", 227 "@@@STEP_LOG_LINE@python.inline@ print 'touch %s' % path@@@", 228 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['touch', path])@@@", 229 "@@@STEP_LOG_END@python.inline@@@" 230 ] 231 }, 232 { 233 "cmd": [ 234 "python", 235 "-u", 236 "[START_DIR]/cache/work/skia/bin/fetch-gn" 237 ], 238 "cwd": "[START_DIR]/cache/work/skia", 239 "env": { 240 "CHROME_HEADLESS": "1", 241 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 242 }, 243 "infra_step": true, 244 "name": "fetch-gn (2)" 245 }, 246 { 247 "cmd": [ 248 "python", 249 "-u", 250 "[START_DIR]/cache/work/skia/bin/fetch-clang-format" 251 ], 252 "cwd": "[START_DIR]/cache/work/skia", 253 "env": { 254 "CHROME_HEADLESS": "1", 255 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 256 }, 257 "infra_step": true, 258 "name": "fetch-clang-format" 259 }, 260 { 261 "cmd": [ 262 "[START_DIR]/cache/work/skia/bin/gn", 263 "gen", 264 "[START_DIR]/build/out/Release", 265 "--args=is_debug=false skia_compile_processors=true skia_generate_workarounds=true werror=true" 266 ], 267 "cwd": "[START_DIR]/cache/work/skia", 268 "env": { 269 "CHROME_HEADLESS": "1", 270 "PATH": "[START_DIR]/cache/work/skia/bin:<PATH>:RECIPE_REPO[depot_tools]" 271 }, 272 "name": "gn gen" 273 }, 274 { 275 "cmd": [ 276 "ninja", 277 "-C", 278 "[START_DIR]/build/out/Release" 279 ], 280 "cwd": "[START_DIR]/cache/work/skia", 281 "env": { 282 "CHROME_HEADLESS": "1", 283 "PATH": "[START_DIR]/cache/work/skia/bin:<PATH>:RECIPE_REPO[depot_tools]" 284 }, 285 "name": "ninja" 286 }, 287 { 288 "cmd": [ 289 "git", 290 "diff", 291 "--no-ext-diff" 292 ], 293 "cwd": "[START_DIR]/cache/work/skia", 294 "env": { 295 "CHROME_HEADLESS": "1", 296 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 297 }, 298 "name": "git diff #2" 299 }, 300 { 301 "cmd": [ 302 "python", 303 "-u", 304 "\ndiff1 = ''''''\n\ndiff2 = ''''''\n\nif diff1 != diff2:\n print 'Generated files have been edited!'\n exit(1)\n" 305 ], 306 "cwd": "[START_DIR]/cache/work/skia", 307 "env": { 308 "CHROME_HEADLESS": "1", 309 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 310 }, 311 "name": "compare diffs", 312 "~followup_annotations": [ 313 "@@@STEP_LOG_LINE@python.inline@@@@", 314 "@@@STEP_LOG_LINE@python.inline@diff1 = ''''''@@@", 315 "@@@STEP_LOG_LINE@python.inline@@@@", 316 "@@@STEP_LOG_LINE@python.inline@diff2 = ''''''@@@", 317 "@@@STEP_LOG_LINE@python.inline@@@@", 318 "@@@STEP_LOG_LINE@python.inline@if diff1 != diff2:@@@", 319 "@@@STEP_LOG_LINE@python.inline@ print 'Generated files have been edited!'@@@", 320 "@@@STEP_LOG_LINE@python.inline@ exit(1)@@@", 321 "@@@STEP_LOG_END@python.inline@@@" 322 ] 323 }, 324 { 325 "name": "$result" 326 } 327]