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/flutter"
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/flutter/.gclient_entries"
26    ],
27    "infra_step": true,
28    "name": "remove [START_DIR]/cache/work/flutter/.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': True, 'name': 'src/flutter', 'url': 'https://github.com/flutter/engine.git'}]\ntarget_os = ['android']",
37      "--patch_root",
38      "src/third_party/skia",
39      "--revision_mapping_file",
40      "{\"got_flutter_revision\": \"src/flutter\", \"got_revision\": \"src/third_party/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      "--patch_ref",
48      "https://skia.googlesource.com/skia.git@refs/changes/89/456789/12",
49      "--revision",
50      "src/flutter@origin/master",
51      "--revision",
52      "src/third_party/skia@abc123"
53    ],
54    "cwd": "[START_DIR]/cache/work/flutter",
55    "env_prefixes": {
56      "PATH": [
57        "RECIPE_REPO[depot_tools]"
58      ]
59    },
60    "infra_step": true,
61    "name": "bot_update",
62    "~followup_annotations": [
63      "@@@STEP_TEXT@Some step text@@@",
64      "@@@STEP_LOG_LINE@json.output@{@@@",
65      "@@@STEP_LOG_LINE@json.output@  \"did_run\": true, @@@",
66      "@@@STEP_LOG_LINE@json.output@  \"fixed_revisions\": {@@@",
67      "@@@STEP_LOG_LINE@json.output@    \"src/flutter\": \"origin/master\", @@@",
68      "@@@STEP_LOG_LINE@json.output@    \"src/third_party/skia\": \"abc123\"@@@",
69      "@@@STEP_LOG_LINE@json.output@  }, @@@",
70      "@@@STEP_LOG_LINE@json.output@  \"manifest\": {@@@",
71      "@@@STEP_LOG_LINE@json.output@    \"src/flutter\": {@@@",
72      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/src/flutter.git\", @@@",
73      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"9221bca00ddbd888260084def81f09543281b952\"@@@",
74      "@@@STEP_LOG_LINE@json.output@    }, @@@",
75      "@@@STEP_LOG_LINE@json.output@    \"src/third_party/skia\": {@@@",
76      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/src/third_party/skia.git\", @@@",
77      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"d9c4a4d173a97ef2832b65636b4200bb93ea8ee1\"@@@",
78      "@@@STEP_LOG_LINE@json.output@    }@@@",
79      "@@@STEP_LOG_LINE@json.output@  }, @@@",
80      "@@@STEP_LOG_LINE@json.output@  \"patch_failure\": false, @@@",
81      "@@@STEP_LOG_LINE@json.output@  \"patch_root\": \"src/third_party/skia\", @@@",
82      "@@@STEP_LOG_LINE@json.output@  \"properties\": {@@@",
83      "@@@STEP_LOG_LINE@json.output@    \"got_flutter_revision\": \"9221bca00ddbd888260084def81f09543281b952\", @@@",
84      "@@@STEP_LOG_LINE@json.output@    \"got_flutter_revision_cp\": \"refs/heads/master@{#84512}\", @@@",
85      "@@@STEP_LOG_LINE@json.output@    \"got_revision\": \"d9c4a4d173a97ef2832b65636b4200bb93ea8ee1\", @@@",
86      "@@@STEP_LOG_LINE@json.output@    \"got_revision_cp\": \"refs/heads/master@{#143121}\"@@@",
87      "@@@STEP_LOG_LINE@json.output@  }, @@@",
88      "@@@STEP_LOG_LINE@json.output@  \"root\": \"src/flutter\", @@@",
89      "@@@STEP_LOG_LINE@json.output@  \"source_manifest\": {@@@",
90      "@@@STEP_LOG_LINE@json.output@    \"directories\": {@@@",
91      "@@@STEP_LOG_LINE@json.output@      \"src/flutter\": {@@@",
92      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
93      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/src/flutter.git\", @@@",
94      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"9221bca00ddbd888260084def81f09543281b952\"@@@",
95      "@@@STEP_LOG_LINE@json.output@        }@@@",
96      "@@@STEP_LOG_LINE@json.output@      }, @@@",
97      "@@@STEP_LOG_LINE@json.output@      \"src/third_party/skia\": {@@@",
98      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
99      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/src/third_party/skia.git\", @@@",
100      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"d9c4a4d173a97ef2832b65636b4200bb93ea8ee1\"@@@",
101      "@@@STEP_LOG_LINE@json.output@        }@@@",
102      "@@@STEP_LOG_LINE@json.output@      }@@@",
103      "@@@STEP_LOG_LINE@json.output@    }, @@@",
104      "@@@STEP_LOG_LINE@json.output@    \"version\": 0@@@",
105      "@@@STEP_LOG_LINE@json.output@  }, @@@",
106      "@@@STEP_LOG_LINE@json.output@  \"step_text\": \"Some step text\"@@@",
107      "@@@STEP_LOG_LINE@json.output@}@@@",
108      "@@@STEP_LOG_END@json.output@@@",
109      "@@@SET_BUILD_PROPERTY@got_flutter_revision@\"9221bca00ddbd888260084def81f09543281b952\"@@@",
110      "@@@SET_BUILD_PROPERTY@got_flutter_revision_cp@\"refs/heads/master@{#84512}\"@@@",
111      "@@@SET_BUILD_PROPERTY@got_revision@\"d9c4a4d173a97ef2832b65636b4200bb93ea8ee1\"@@@",
112      "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#143121}\"@@@"
113    ]
114  },
115  {
116    "cmd": [
117      "python",
118      "-u",
119      "RECIPE_REPO[depot_tools]/gclient.py",
120      "runhooks"
121    ],
122    "cwd": "[START_DIR]/cache/work/flutter",
123    "env": {
124      "DEPOT_TOOLS_UPDATE": "0"
125    },
126    "env_suffixes": {
127      "PATH": [
128        "RECIPE_REPO[depot_tools]"
129      ]
130    },
131    "name": "gclient runhooks"
132  },
133  {
134    "cmd": [
135      "python",
136      "-u",
137      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
138      "--json-output",
139      "/path/to/tmp/json",
140      "ensure-directory",
141      "--mode",
142      "0777",
143      "[START_DIR]/tmp"
144    ],
145    "infra_step": true,
146    "name": "makedirs tmp_dir"
147  },
148  {
149    "jsonResult": null,
150    "name": "$result"
151  }
152]