• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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      "--revision",
48      "src/flutter@origin/master",
49      "--revision",
50      "src/third_party/skia@abc123"
51    ],
52    "cwd": "[START_DIR]/cache/work/flutter",
53    "env_prefixes": {
54      "PATH": [
55        "RECIPE_REPO[depot_tools]"
56      ]
57    },
58    "infra_step": true,
59    "name": "bot_update",
60    "~followup_annotations": [
61      "@@@STEP_TEXT@Some step text@@@",
62      "@@@STEP_LOG_LINE@json.output@{@@@",
63      "@@@STEP_LOG_LINE@json.output@  \"did_run\": true, @@@",
64      "@@@STEP_LOG_LINE@json.output@  \"fixed_revisions\": {@@@",
65      "@@@STEP_LOG_LINE@json.output@    \"src/flutter\": \"origin/master\", @@@",
66      "@@@STEP_LOG_LINE@json.output@    \"src/third_party/skia\": \"abc123\"@@@",
67      "@@@STEP_LOG_LINE@json.output@  }, @@@",
68      "@@@STEP_LOG_LINE@json.output@  \"manifest\": {@@@",
69      "@@@STEP_LOG_LINE@json.output@    \"src/flutter\": {@@@",
70      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/src/flutter.git\", @@@",
71      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"9221bca00ddbd888260084def81f09543281b952\"@@@",
72      "@@@STEP_LOG_LINE@json.output@    }, @@@",
73      "@@@STEP_LOG_LINE@json.output@    \"src/third_party/skia\": {@@@",
74      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/src/third_party/skia.git\", @@@",
75      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"d9c4a4d173a97ef2832b65636b4200bb93ea8ee1\"@@@",
76      "@@@STEP_LOG_LINE@json.output@    }@@@",
77      "@@@STEP_LOG_LINE@json.output@  }, @@@",
78      "@@@STEP_LOG_LINE@json.output@  \"patch_failure\": false, @@@",
79      "@@@STEP_LOG_LINE@json.output@  \"patch_root\": \"src/third_party/skia\", @@@",
80      "@@@STEP_LOG_LINE@json.output@  \"properties\": {@@@",
81      "@@@STEP_LOG_LINE@json.output@    \"got_flutter_revision\": \"9221bca00ddbd888260084def81f09543281b952\", @@@",
82      "@@@STEP_LOG_LINE@json.output@    \"got_flutter_revision_cp\": \"refs/heads/master@{#84512}\", @@@",
83      "@@@STEP_LOG_LINE@json.output@    \"got_revision\": \"d9c4a4d173a97ef2832b65636b4200bb93ea8ee1\", @@@",
84      "@@@STEP_LOG_LINE@json.output@    \"got_revision_cp\": \"refs/heads/master@{#143121}\"@@@",
85      "@@@STEP_LOG_LINE@json.output@  }, @@@",
86      "@@@STEP_LOG_LINE@json.output@  \"root\": \"src/flutter\", @@@",
87      "@@@STEP_LOG_LINE@json.output@  \"source_manifest\": {@@@",
88      "@@@STEP_LOG_LINE@json.output@    \"directories\": {@@@",
89      "@@@STEP_LOG_LINE@json.output@      \"src/flutter\": {@@@",
90      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
91      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/src/flutter.git\", @@@",
92      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"9221bca00ddbd888260084def81f09543281b952\"@@@",
93      "@@@STEP_LOG_LINE@json.output@        }@@@",
94      "@@@STEP_LOG_LINE@json.output@      }, @@@",
95      "@@@STEP_LOG_LINE@json.output@      \"src/third_party/skia\": {@@@",
96      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
97      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/src/third_party/skia.git\", @@@",
98      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"d9c4a4d173a97ef2832b65636b4200bb93ea8ee1\"@@@",
99      "@@@STEP_LOG_LINE@json.output@        }@@@",
100      "@@@STEP_LOG_LINE@json.output@      }@@@",
101      "@@@STEP_LOG_LINE@json.output@    }, @@@",
102      "@@@STEP_LOG_LINE@json.output@    \"version\": 0@@@",
103      "@@@STEP_LOG_LINE@json.output@  }, @@@",
104      "@@@STEP_LOG_LINE@json.output@  \"step_text\": \"Some step text\"@@@",
105      "@@@STEP_LOG_LINE@json.output@}@@@",
106      "@@@STEP_LOG_END@json.output@@@",
107      "@@@SET_BUILD_PROPERTY@got_flutter_revision@\"9221bca00ddbd888260084def81f09543281b952\"@@@",
108      "@@@SET_BUILD_PROPERTY@got_flutter_revision_cp@\"refs/heads/master@{#84512}\"@@@",
109      "@@@SET_BUILD_PROPERTY@got_revision@\"d9c4a4d173a97ef2832b65636b4200bb93ea8ee1\"@@@",
110      "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#143121}\"@@@"
111    ]
112  },
113  {
114    "cmd": [
115      "python",
116      "-u",
117      "RECIPE_REPO[depot_tools]/gclient.py",
118      "runhooks"
119    ],
120    "cwd": "[START_DIR]/cache/work/flutter",
121    "env": {
122      "DEPOT_TOOLS_UPDATE": "0"
123    },
124    "env_suffixes": {
125      "PATH": [
126        "RECIPE_REPO[depot_tools]"
127      ]
128    },
129    "name": "gclient runhooks"
130  },
131  {
132    "cmd": [
133      "python",
134      "-u",
135      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
136      "--json-output",
137      "/path/to/tmp/json",
138      "ensure-directory",
139      "--mode",
140      "0777",
141      "[START_DIR]/tmp"
142    ],
143    "infra_step": true,
144    "name": "makedirs tmp_dir"
145  },
146  {
147    "cmd": [
148      "python",
149      "-u",
150      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
151      "--json-output",
152      "/path/to/tmp/json",
153      "rmtree",
154      "[START_DIR]/cache/work/flutter/src/out/android_release"
155    ],
156    "cwd": "[START_DIR]/cache/work/flutter/src",
157    "infra_step": true,
158    "name": "rmtree android_release"
159  },
160  {
161    "cmd": [
162      "flutter/tools/gn",
163      "--runtime-mode=release",
164      "--android"
165    ],
166    "cwd": "[START_DIR]/cache/work/flutter/src",
167    "env": {
168      "CHROME_HEADLESS": "1",
169      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
170    },
171    "name": "gn_gen"
172  },
173  {
174    "cmd": [
175      "ninja",
176      "-C",
177      "[START_DIR]/cache/work/flutter/src/out/android_release",
178      "-j100"
179    ],
180    "cwd": "[START_DIR]/cache/work/flutter/src",
181    "env": {
182      "CHROME_HEADLESS": "1",
183      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
184    },
185    "name": "build_flutter"
186  },
187  {
188    "cmd": [
189      "python",
190      "-u",
191      "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products_whitelist = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skiaserve', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']\n\ntry:\n  os.makedirs(dst)\nexcept OSError as e:\n  if e.errno != errno.EEXIST:\n    raise\n\nfor pattern in build_products_whitelist:\n  path = os.path.join(src, pattern)\n  for f in glob.glob(path):\n    dst_path = os.path.join(dst, os.path.relpath(f, src))\n    if not os.path.isdir(os.path.dirname(dst_path)):\n      os.makedirs(os.path.dirname(dst_path))\n    print 'Copying build product %s to %s' % (f, dst_path)\n    shutil.move(f, dst_path)\n",
192      "[START_DIR]/cache/work/flutter/src/out/android_release",
193      "[START_DIR]/[SWARM_OUT_DIR]"
194    ],
195    "infra_step": true,
196    "name": "copy build products",
197    "~followup_annotations": [
198      "@@@STEP_LOG_LINE@python.inline@import errno@@@",
199      "@@@STEP_LOG_LINE@python.inline@import glob@@@",
200      "@@@STEP_LOG_LINE@python.inline@import os@@@",
201      "@@@STEP_LOG_LINE@python.inline@import shutil@@@",
202      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
203      "@@@STEP_LOG_LINE@python.inline@@@@",
204      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@",
205      "@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
206      "@@@STEP_LOG_LINE@python.inline@build_products_whitelist = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skiaserve', 'skottie_tool', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']@@@",
207      "@@@STEP_LOG_LINE@python.inline@@@@",
208      "@@@STEP_LOG_LINE@python.inline@try:@@@",
209      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(dst)@@@",
210      "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
211      "@@@STEP_LOG_LINE@python.inline@  if e.errno != errno.EEXIST:@@@",
212      "@@@STEP_LOG_LINE@python.inline@    raise@@@",
213      "@@@STEP_LOG_LINE@python.inline@@@@",
214      "@@@STEP_LOG_LINE@python.inline@for pattern in build_products_whitelist:@@@",
215      "@@@STEP_LOG_LINE@python.inline@  path = os.path.join(src, pattern)@@@",
216      "@@@STEP_LOG_LINE@python.inline@  for f in glob.glob(path):@@@",
217      "@@@STEP_LOG_LINE@python.inline@    dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
218      "@@@STEP_LOG_LINE@python.inline@    if not os.path.isdir(os.path.dirname(dst_path)):@@@",
219      "@@@STEP_LOG_LINE@python.inline@      os.makedirs(os.path.dirname(dst_path))@@@",
220      "@@@STEP_LOG_LINE@python.inline@    print 'Copying build product %s to %s' % (f, dst_path)@@@",
221      "@@@STEP_LOG_LINE@python.inline@    shutil.move(f, dst_path)@@@",
222      "@@@STEP_LOG_END@python.inline@@@"
223    ]
224  },
225  {
226    "cmd": [
227      "python",
228      "-u",
229      "\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\n\nshutil.copyfile(src, dst)\n",
230      "[START_DIR]/cache/work/flutter/src/out/android_release/lib.stripped/libflutter.so",
231      "[START_DIR]/[SWARM_OUT_DIR]/libflutter_stripped.so"
232    ],
233    "infra_step": true,
234    "name": "copy stripped library",
235    "~followup_annotations": [
236      "@@@STEP_LOG_LINE@python.inline@@@@",
237      "@@@STEP_LOG_LINE@python.inline@import shutil@@@",
238      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
239      "@@@STEP_LOG_LINE@python.inline@@@@",
240      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@",
241      "@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
242      "@@@STEP_LOG_LINE@python.inline@@@@",
243      "@@@STEP_LOG_LINE@python.inline@shutil.copyfile(src, dst)@@@",
244      "@@@STEP_LOG_END@python.inline@@@"
245    ]
246  },
247  {
248    "jsonResult": null,
249    "name": "$result"
250  }
251]