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 "--output_json", 39 "/path/to/tmp/json", 40 "--revision", 41 "src/flutter@origin/master", 42 "--revision", 43 "src/third_party/skia@abc123", 44 "--output_manifest" 45 ], 46 "cwd": "[CUSTOM_/_B_WORK]/flutter", 47 "env": { 48 "GIT_HTTP_LOW_SPEED_LIMIT": "1000", 49 "GIT_HTTP_LOW_SPEED_TIME": "300", 50 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]" 51 }, 52 "infra_step": true, 53 "name": "bot_update", 54 "~followup_annotations": [ 55 "@@@STEP_TEXT@Some step text@@@", 56 "@@@STEP_LOG_LINE@json.output@{@@@", 57 "@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@", 58 "@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@", 59 "@@@STEP_LOG_LINE@json.output@ \"src/flutter\": \"origin/master\", @@@", 60 "@@@STEP_LOG_LINE@json.output@ \"src/third_party/skia\": \"abc123\"@@@", 61 "@@@STEP_LOG_LINE@json.output@ }, @@@", 62 "@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@", 63 "@@@STEP_LOG_LINE@json.output@ \"src/flutter\": {@@@", 64 "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/flutter.git\", @@@", 65 "@@@STEP_LOG_LINE@json.output@ \"revision\": \"9221bca00ddbd888260084def81f09543281b952\"@@@", 66 "@@@STEP_LOG_LINE@json.output@ }, @@@", 67 "@@@STEP_LOG_LINE@json.output@ \"src/third_party/skia\": {@@@", 68 "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/third_party/skia.git\", @@@", 69 "@@@STEP_LOG_LINE@json.output@ \"revision\": \"d9c4a4d173a97ef2832b65636b4200bb93ea8ee1\"@@@", 70 "@@@STEP_LOG_LINE@json.output@ }@@@", 71 "@@@STEP_LOG_LINE@json.output@ }, @@@", 72 "@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@", 73 "@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"src/third_party/skia\", @@@", 74 "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@", 75 "@@@STEP_LOG_LINE@json.output@ \"got_flutter_revision\": \"9221bca00ddbd888260084def81f09543281b952\", @@@", 76 "@@@STEP_LOG_LINE@json.output@ \"got_flutter_revision_cp\": \"refs/heads/master@{#84512}\", @@@", 77 "@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"d9c4a4d173a97ef2832b65636b4200bb93ea8ee1\", @@@", 78 "@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#143121}\"@@@", 79 "@@@STEP_LOG_LINE@json.output@ }, @@@", 80 "@@@STEP_LOG_LINE@json.output@ \"root\": \"src/flutter\", @@@", 81 "@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@", 82 "@@@STEP_LOG_LINE@json.output@}@@@", 83 "@@@STEP_LOG_END@json.output@@@", 84 "@@@SET_BUILD_PROPERTY@got_revision@\"d9c4a4d173a97ef2832b65636b4200bb93ea8ee1\"@@@", 85 "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#143121}\"@@@", 86 "@@@SET_BUILD_PROPERTY@got_flutter_revision_cp@\"refs/heads/master@{#84512}\"@@@", 87 "@@@SET_BUILD_PROPERTY@got_flutter_revision@\"9221bca00ddbd888260084def81f09543281b952\"@@@" 88 ] 89 }, 90 { 91 "cmd": [ 92 "gclient", 93 "runhooks" 94 ], 95 "cwd": "[CUSTOM_/_B_WORK]/flutter/src", 96 "env": { 97 "BUILDTYPE": "Release", 98 "CHROME_HEADLESS": "1", 99 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 100 "SKIA_OUT": "[CUSTOM_/_B_WORK]/flutter/src/third_party/skia/out/Build-Ubuntu-GCC-x86_64-Release-Flutter_Android" 101 }, 102 "name": "runhook" 103 }, 104 { 105 "cmd": [ 106 "python", 107 "-u", 108 "RECIPE_MODULE[build::file]/resources/fileutil.py", 109 "rmtree", 110 "[CUSTOM_/_B_WORK]/flutter/src/out/android_release" 111 ], 112 "cwd": "[CUSTOM_/_B_WORK]/flutter/src", 113 "env": { 114 "PYTHONPATH": "[START_DIR]/skia/infra/bots/.recipe_deps/build/scripts" 115 }, 116 "infra_step": true, 117 "name": "rmtree android_release" 118 }, 119 { 120 "cmd": [ 121 "flutter/tools/gn", 122 "--runtime-mode=release", 123 "--android" 124 ], 125 "cwd": "[CUSTOM_/_B_WORK]/flutter/src", 126 "env": { 127 "BUILDTYPE": "Release", 128 "CHROME_HEADLESS": "1", 129 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 130 "SKIA_OUT": "[CUSTOM_/_B_WORK]/flutter/src/third_party/skia/out/Build-Ubuntu-GCC-x86_64-Release-Flutter_Android" 131 }, 132 "name": "gn_gen" 133 }, 134 { 135 "cmd": [ 136 "ninja", 137 "-C", 138 "out/android_release", 139 "-j100" 140 ], 141 "cwd": "[CUSTOM_/_B_WORK]/flutter/src", 142 "env": { 143 "BUILDTYPE": "Release", 144 "CHROME_HEADLESS": "1", 145 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 146 "SKIA_OUT": "[CUSTOM_/_B_WORK]/flutter/src/third_party/skia/out/Build-Ubuntu-GCC-x86_64-Release-Flutter_Android" 147 }, 148 "name": "build_flutter" 149 }, 150 { 151 "cmd": [ 152 "python", 153 "-u", 154 "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", 155 "[CUSTOM_/_B_WORK]/flutter/src/third_party/skia/out/Build-Ubuntu-GCC-x86_64-Release-Flutter_Android/Release", 156 "[CUSTOM_[SWARM_OUT_DIR]]/out/Release" 157 ], 158 "infra_step": true, 159 "name": "copy build products", 160 "~followup_annotations": [ 161 "@@@STEP_LOG_LINE@python.inline@import errno@@@", 162 "@@@STEP_LOG_LINE@python.inline@import glob@@@", 163 "@@@STEP_LOG_LINE@python.inline@import os@@@", 164 "@@@STEP_LOG_LINE@python.inline@import shutil@@@", 165 "@@@STEP_LOG_LINE@python.inline@import sys@@@", 166 "@@@STEP_LOG_LINE@python.inline@@@@", 167 "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@", 168 "@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@", 169 "@@@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']@@@", 170 "@@@STEP_LOG_LINE@python.inline@@@@", 171 "@@@STEP_LOG_LINE@python.inline@try:@@@", 172 "@@@STEP_LOG_LINE@python.inline@ os.makedirs(dst)@@@", 173 "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@", 174 "@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.EEXIST:@@@", 175 "@@@STEP_LOG_LINE@python.inline@ raise@@@", 176 "@@@STEP_LOG_LINE@python.inline@@@@", 177 "@@@STEP_LOG_LINE@python.inline@for pattern in build_products_whitelist:@@@", 178 "@@@STEP_LOG_LINE@python.inline@ path = os.path.join(src, pattern)@@@", 179 "@@@STEP_LOG_LINE@python.inline@ for f in glob.glob(path):@@@", 180 "@@@STEP_LOG_LINE@python.inline@ dst_path = os.path.join(dst, os.path.relpath(f, src))@@@", 181 "@@@STEP_LOG_LINE@python.inline@ if not os.path.isdir(os.path.dirname(dst_path)):@@@", 182 "@@@STEP_LOG_LINE@python.inline@ os.makedirs(os.path.dirname(dst_path))@@@", 183 "@@@STEP_LOG_LINE@python.inline@ print 'Copying build product %s to %s' % (f, dst_path)@@@", 184 "@@@STEP_LOG_LINE@python.inline@ shutil.move(f, dst_path)@@@", 185 "@@@STEP_LOG_END@python.inline@@@" 186 ] 187 }, 188 { 189 "name": "$result", 190 "recipe_result": null, 191 "status_code": 0 192 } 193]