1[ 2 { 3 "cmd": [ 4 "python", 5 "-u", 6 "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n if os.path.exists(path):\n print \"%s exists but is not a dir\" % path\n sys.exit(1)\n os.makedirs(path, mode)\n", 7 "[CUSTOM_/_B_WORK]/flutter", 8 "511" 9 ], 10 "infra_step": true, 11 "name": "makedirs checkout_path", 12 "~followup_annotations": [ 13 "@@@STEP_LOG_LINE@python.inline@@@@", 14 "@@@STEP_LOG_LINE@python.inline@import sys, os@@@", 15 "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@", 16 "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@", 17 "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@", 18 "@@@STEP_LOG_LINE@python.inline@ if os.path.exists(path):@@@", 19 "@@@STEP_LOG_LINE@python.inline@ print \"%s exists but is not a dir\" % path@@@", 20 "@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@", 21 "@@@STEP_LOG_LINE@python.inline@ os.makedirs(path, mode)@@@", 22 "@@@STEP_LOG_END@python.inline@@@" 23 ] 24 }, 25 { 26 "cmd": [ 27 "python", 28 "-u", 29 "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", 30 "--spec", 31 "cache_dir = '[CUSTOM_/_B_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src/flutter', 'url': 'https://github.com/flutter/engine.git'}]\ntarget_os = ['android']", 32 "--patch_root", 33 "src/third_party/skia", 34 "--revision_mapping_file", 35 "{\"src/flutter\": \"got_flutter_revision\", \"src/third_party/skia\": \"got_revision\"}", 36 "--git-cache-dir", 37 "[CUSTOM_/_B_CACHE]", 38 "--gerrit_repo", 39 "https://skia.googlesource.com/skia.git", 40 "--gerrit_ref", 41 "refs/changes/89/456789/12", 42 "--output_json", 43 "/path/to/tmp/json", 44 "--revision", 45 "src/flutter@origin/master", 46 "--revision", 47 "src/third_party/skia@abc123", 48 "--output_manifest" 49 ], 50 "cwd": "[CUSTOM_/_B_WORK]/flutter", 51 "env": { 52 "GIT_HTTP_LOW_SPEED_LIMIT": "1000", 53 "GIT_HTTP_LOW_SPEED_TIME": "300", 54 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]" 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@ \"src/flutter\": \"origin/master\", @@@", 64 "@@@STEP_LOG_LINE@json.output@ \"src/third_party/skia\": \"abc123\"@@@", 65 "@@@STEP_LOG_LINE@json.output@ }, @@@", 66 "@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@", 67 "@@@STEP_LOG_LINE@json.output@ \"src/flutter\": {@@@", 68 "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/flutter.git\", @@@", 69 "@@@STEP_LOG_LINE@json.output@ \"revision\": \"9221bca00ddbd888260084def81f09543281b952\"@@@", 70 "@@@STEP_LOG_LINE@json.output@ }, @@@", 71 "@@@STEP_LOG_LINE@json.output@ \"src/third_party/skia\": {@@@", 72 "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/third_party/skia.git\", @@@", 73 "@@@STEP_LOG_LINE@json.output@ \"revision\": \"d9c4a4d173a97ef2832b65636b4200bb93ea8ee1\"@@@", 74 "@@@STEP_LOG_LINE@json.output@ }@@@", 75 "@@@STEP_LOG_LINE@json.output@ }, @@@", 76 "@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@", 77 "@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"src/third_party/skia\", @@@", 78 "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@", 79 "@@@STEP_LOG_LINE@json.output@ \"got_flutter_revision\": \"9221bca00ddbd888260084def81f09543281b952\", @@@", 80 "@@@STEP_LOG_LINE@json.output@ \"got_flutter_revision_cp\": \"refs/heads/master@{#84512}\", @@@", 81 "@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"d9c4a4d173a97ef2832b65636b4200bb93ea8ee1\", @@@", 82 "@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#143121}\"@@@", 83 "@@@STEP_LOG_LINE@json.output@ }, @@@", 84 "@@@STEP_LOG_LINE@json.output@ \"root\": \"src/flutter\", @@@", 85 "@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@", 86 "@@@STEP_LOG_LINE@json.output@}@@@", 87 "@@@STEP_LOG_END@json.output@@@", 88 "@@@SET_BUILD_PROPERTY@got_revision@\"d9c4a4d173a97ef2832b65636b4200bb93ea8ee1\"@@@", 89 "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#143121}\"@@@", 90 "@@@SET_BUILD_PROPERTY@got_flutter_revision_cp@\"refs/heads/master@{#84512}\"@@@", 91 "@@@SET_BUILD_PROPERTY@got_flutter_revision@\"9221bca00ddbd888260084def81f09543281b952\"@@@" 92 ] 93 }, 94 { 95 "cmd": [ 96 "gclient", 97 "runhooks" 98 ], 99 "cwd": "[CUSTOM_/_B_WORK]/flutter/src", 100 "env": { 101 "BUILDTYPE": "Release", 102 "CHROME_HEADLESS": "1", 103 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 104 "SKIA_OUT": "[CUSTOM_/_B_WORK]/flutter/src/third_party/skia/out/Build-Ubuntu-GCC-x86_64-Release-Flutter_Android" 105 }, 106 "name": "runhook" 107 }, 108 { 109 "cmd": [ 110 "python", 111 "-u", 112 "RECIPE_MODULE[build::file]/resources/fileutil.py", 113 "rmtree", 114 "[CUSTOM_/_B_WORK]/flutter/src/out/android_release" 115 ], 116 "cwd": "[CUSTOM_/_B_WORK]/flutter/src", 117 "env": { 118 "PYTHONPATH": "[START_DIR]/skia/infra/bots/.recipe_deps/build/scripts" 119 }, 120 "infra_step": true, 121 "name": "rmtree android_release" 122 }, 123 { 124 "cmd": [ 125 "flutter/tools/gn", 126 "--runtime-mode=release", 127 "--android" 128 ], 129 "cwd": "[CUSTOM_/_B_WORK]/flutter/src", 130 "env": { 131 "BUILDTYPE": "Release", 132 "CHROME_HEADLESS": "1", 133 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 134 "SKIA_OUT": "[CUSTOM_/_B_WORK]/flutter/src/third_party/skia/out/Build-Ubuntu-GCC-x86_64-Release-Flutter_Android" 135 }, 136 "name": "gn_gen" 137 }, 138 { 139 "cmd": [ 140 "ninja", 141 "-C", 142 "out/android_release", 143 "-j100" 144 ], 145 "cwd": "[CUSTOM_/_B_WORK]/flutter/src", 146 "env": { 147 "BUILDTYPE": "Release", 148 "CHROME_HEADLESS": "1", 149 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 150 "SKIA_OUT": "[CUSTOM_/_B_WORK]/flutter/src/third_party/skia/out/Build-Ubuntu-GCC-x86_64-Release-Flutter_Android" 151 }, 152 "name": "build_flutter" 153 }, 154 { 155 "cmd": [ 156 "python", 157 "-u", 158 "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', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', 'iOSShell.app', 'iOSShell.ipa', 'visualbench', 'visualbench.exe', 'vulkan-1.dll']\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", 159 "[CUSTOM_/_B_WORK]/flutter/src/third_party/skia/out/Build-Ubuntu-GCC-x86_64-Release-Flutter_Android/Release", 160 "[CUSTOM_[SWARM_OUT_DIR]]/out/Release" 161 ], 162 "infra_step": true, 163 "name": "copy build products", 164 "~followup_annotations": [ 165 "@@@STEP_LOG_LINE@python.inline@import errno@@@", 166 "@@@STEP_LOG_LINE@python.inline@import glob@@@", 167 "@@@STEP_LOG_LINE@python.inline@import os@@@", 168 "@@@STEP_LOG_LINE@python.inline@import shutil@@@", 169 "@@@STEP_LOG_LINE@python.inline@import sys@@@", 170 "@@@STEP_LOG_LINE@python.inline@@@@", 171 "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@", 172 "@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@", 173 "@@@STEP_LOG_LINE@python.inline@build_products_whitelist = ['dm', 'dm.exe', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', 'iOSShell.app', 'iOSShell.ipa', 'visualbench', 'visualbench.exe', 'vulkan-1.dll']@@@", 174 "@@@STEP_LOG_LINE@python.inline@@@@", 175 "@@@STEP_LOG_LINE@python.inline@try:@@@", 176 "@@@STEP_LOG_LINE@python.inline@ os.makedirs(dst)@@@", 177 "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@", 178 "@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.EEXIST:@@@", 179 "@@@STEP_LOG_LINE@python.inline@ raise@@@", 180 "@@@STEP_LOG_LINE@python.inline@@@@", 181 "@@@STEP_LOG_LINE@python.inline@for pattern in build_products_whitelist:@@@", 182 "@@@STEP_LOG_LINE@python.inline@ path = os.path.join(src, pattern)@@@", 183 "@@@STEP_LOG_LINE@python.inline@ for f in glob.glob(path):@@@", 184 "@@@STEP_LOG_LINE@python.inline@ dst_path = os.path.join(dst, os.path.relpath(f, src))@@@", 185 "@@@STEP_LOG_LINE@python.inline@ if not os.path.isdir(os.path.dirname(dst_path)):@@@", 186 "@@@STEP_LOG_LINE@python.inline@ os.makedirs(os.path.dirname(dst_path))@@@", 187 "@@@STEP_LOG_LINE@python.inline@ print 'Copying build product %s to %s' % (f, dst_path)@@@", 188 "@@@STEP_LOG_LINE@python.inline@ shutil.move(f, dst_path)@@@", 189 "@@@STEP_LOG_END@python.inline@@@" 190 ] 191 }, 192 { 193 "name": "$result", 194 "recipe_result": null, 195 "status_code": 0 196 } 197]