852ca318a1
'windk' is no longer a thing. There are two separate variables to point at your compiler (win_vc), and SDK (win_sdk). 'msvc' is no longer a thing, either. By default, we look for 2017 and then 2015 (in the default locations). If neither is located, use an assert to let users know they should set win_vc. Then, detect if win_vc points at a 2017 or 2015 installation, and configure it automatically. Because the toolchain is now 2017, update the GN files to handle building x86 in that configuration. In fact, we only support x86 builds (with 2017 or 2015) using the toolchain assets. Keep a 2015 toolchain around as a new asset, so we can add bot coverage. Docs-Preview: https://skia.org/?cl=81841 Bug: skia: Change-Id: I8c68a6f949e54c0e798a219450bbb9406f8dc6ac Reviewed-on: https://skia-review.googlesource.com/81841 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
249 lines
12 KiB
JSON
249 lines
12 KiB
JSON
[
|
|
{
|
|
"cmd": [
|
|
"python",
|
|
"-u",
|
|
"RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
|
|
"--json-output",
|
|
"/path/to/tmp/json",
|
|
"ensure-directory",
|
|
"--mode",
|
|
"0777",
|
|
"[CUSTOM_C:\\_B_WORK]"
|
|
],
|
|
"infra_step": true,
|
|
"name": "makedirs checkout_path"
|
|
},
|
|
{
|
|
"cmd": [
|
|
"python",
|
|
"-u",
|
|
"RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
|
|
"--json-output",
|
|
"/path/to/tmp/json",
|
|
"remove",
|
|
"[CUSTOM_C:\\_B_WORK]\\.gclient_entries"
|
|
],
|
|
"infra_step": true,
|
|
"name": "remove [CUSTOM_C:\\_B_WORK]\\.gclient_entries"
|
|
},
|
|
{
|
|
"cmd": [
|
|
"python",
|
|
"-u",
|
|
"RECIPE_MODULE[depot_tools::bot_update]\\resources\\bot_update.py",
|
|
"--spec-path",
|
|
"cache_dir = '[CUSTOM_C:\\\\_B_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': False, 'name': 'skia', 'url': 'https://skia.googlesource.com/skia.git'}]",
|
|
"--patch_root",
|
|
"skia",
|
|
"--revision_mapping_file",
|
|
"{\"got_revision\": \"skia\"}",
|
|
"--git-cache-dir",
|
|
"[CUSTOM_C:\\_B_CACHE]",
|
|
"--cleanup-dir",
|
|
"[CLEANUP]\\bot_update",
|
|
"--output_json",
|
|
"/path/to/tmp/json",
|
|
"--revision",
|
|
"skia@abc123"
|
|
],
|
|
"cwd": "[CUSTOM_C:\\_B_WORK]",
|
|
"env_prefixes": {
|
|
"PATH": [
|
|
"RECIPE_PACKAGE_REPO[depot_tools]"
|
|
]
|
|
},
|
|
"infra_step": true,
|
|
"name": "bot_update",
|
|
"~followup_annotations": [
|
|
"@@@STEP_TEXT@Some step text@@@",
|
|
"@@@STEP_LOG_LINE@json.output@{@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"skia\": \"abc123\"@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"skia\": {@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/skia.git\", @@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ }@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"skia\", @@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\", @@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#164710}\"@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"root\": \"skia\", @@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"source_manifest\": {@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"skia\": {@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/skia.git\", @@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ }@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"version\": 0@@@",
|
|
"@@@STEP_LOG_LINE@json.output@ }, @@@",
|
|
"@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@",
|
|
"@@@STEP_LOG_LINE@json.output@}@@@",
|
|
"@@@STEP_LOG_END@json.output@@@",
|
|
"@@@SET_BUILD_PROPERTY@got_revision@\"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
|
|
"@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#164710}\"@@@"
|
|
]
|
|
},
|
|
{
|
|
"cmd": [
|
|
"python",
|
|
"-u",
|
|
"[CUSTOM_C:\\_B_WORK]\\skia\\bin\\fetch-gn"
|
|
],
|
|
"cwd": "[CUSTOM_C:\\_B_WORK]\\skia",
|
|
"env": {
|
|
"BUILDTYPE": "Release_x64",
|
|
"CC": "/usr/bin/clang",
|
|
"CHROME_HEADLESS": "1",
|
|
"CXX": "/usr/bin/clang++",
|
|
"PATH": "<PATH>;RECIPE_PACKAGE_REPO[depot_tools]",
|
|
"SKIA_OUT": "[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-Clang-x86_64-Release-Vulkan"
|
|
},
|
|
"infra_step": true,
|
|
"name": "fetch-gn"
|
|
},
|
|
{
|
|
"cmd": [
|
|
"[CUSTOM_C:\\_B_WORK]\\skia\\bin\\gn.exe",
|
|
"gen",
|
|
"[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-Clang-x86_64-Release-Vulkan\\Release_x64",
|
|
"--args=cc=\"clang\" clang_win=\"[START_DIR]\\clang_win\" cxx=\"clang++\" is_debug=false skia_enable_vulkan_debug_layers=false skia_vulkan_sdk=\"[START_DIR]\\win_vulkan_sdk\" target_cpu=\"x86_64\" win_sdk=\"[START_DIR]\\t\\depot_tools\\win_toolchain\\vs_files\\a9e1098bba66d2acccc377d5ee81265910f29272/win_sdk\" win_vc=\"[START_DIR]\\t\\depot_tools\\win_toolchain\\vs_files\\a9e1098bba66d2acccc377d5ee81265910f29272/VC\""
|
|
],
|
|
"cwd": "[CUSTOM_C:\\_B_WORK]\\skia",
|
|
"env": {
|
|
"BUILDTYPE": "Release_x64",
|
|
"CC": "/usr/bin/clang",
|
|
"CHROME_HEADLESS": "1",
|
|
"CXX": "/usr/bin/clang++",
|
|
"PATH": "<PATH>;RECIPE_PACKAGE_REPO[depot_tools]",
|
|
"SKIA_OUT": "[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-Clang-x86_64-Release-Vulkan"
|
|
},
|
|
"name": "gn gen"
|
|
},
|
|
{
|
|
"cmd": [
|
|
"ninja.exe",
|
|
"-k",
|
|
"0",
|
|
"-C",
|
|
"[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-Clang-x86_64-Release-Vulkan\\Release_x64"
|
|
],
|
|
"cwd": "[CUSTOM_C:\\_B_WORK]\\skia",
|
|
"env": {
|
|
"BUILDTYPE": "Release_x64",
|
|
"CC": "/usr/bin/clang",
|
|
"CHROME_HEADLESS": "1",
|
|
"CXX": "/usr/bin/clang++",
|
|
"PATH": "<PATH>;RECIPE_PACKAGE_REPO[depot_tools]",
|
|
"SKIA_OUT": "[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-Clang-x86_64-Release-Vulkan"
|
|
},
|
|
"name": "ninja"
|
|
},
|
|
{
|
|
"cmd": [
|
|
"python",
|
|
"-u",
|
|
"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', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', '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",
|
|
"[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-Clang-x86_64-Release-Vulkan\\Release_x64",
|
|
"[CUSTOM_[SWARM_OUT_DIR]]\\out\\Release_x64"
|
|
],
|
|
"infra_step": true,
|
|
"name": "copy build products",
|
|
"~followup_annotations": [
|
|
"@@@STEP_LOG_LINE@python.inline@import errno@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@import glob@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@import os@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@import shutil@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@build_products_whitelist = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', 'vulkan-1.dll']@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@try:@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ os.makedirs(dst)@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.EEXIST:@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ raise@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@for pattern in build_products_whitelist:@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ path = os.path.join(src, pattern)@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ for f in glob.glob(path):@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ if not os.path.isdir(os.path.dirname(dst_path)):@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ os.makedirs(os.path.dirname(dst_path))@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ print 'Copying build product %s to %s' % (f, dst_path)@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ shutil.move(f, dst_path)@@@",
|
|
"@@@STEP_LOG_END@python.inline@@@"
|
|
]
|
|
},
|
|
{
|
|
"cmd": [
|
|
"python",
|
|
"-u",
|
|
"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', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', '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",
|
|
"[START_DIR]\\win_vulkan_sdk",
|
|
"[CUSTOM_[SWARM_OUT_DIR]]\\out\\Release_x64"
|
|
],
|
|
"infra_step": true,
|
|
"name": "copy build products (2)",
|
|
"~followup_annotations": [
|
|
"@@@STEP_LOG_LINE@python.inline@import errno@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@import glob@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@import os@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@import shutil@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@build_products_whitelist = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', 'vulkan-1.dll']@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@try:@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ os.makedirs(dst)@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.EEXIST:@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ raise@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@for pattern in build_products_whitelist:@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ path = os.path.join(src, pattern)@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ for f in glob.glob(path):@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ if not os.path.isdir(os.path.dirname(dst_path)):@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ os.makedirs(os.path.dirname(dst_path))@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ print 'Copying build product %s to %s' % (f, dst_path)@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ shutil.move(f, dst_path)@@@",
|
|
"@@@STEP_LOG_END@python.inline@@@"
|
|
]
|
|
},
|
|
{
|
|
"cmd": [
|
|
"python",
|
|
"-u",
|
|
"import psutil\nfor p in psutil.process_iter():\n try:\n if p.name in ('mspdbsrv.exe', 'vctip.exe', 'cl.exe', 'link.exe'):\n p.kill()\n except psutil._error.AccessDenied:\n pass\n"
|
|
],
|
|
"infra_step": true,
|
|
"name": "cleanup",
|
|
"~followup_annotations": [
|
|
"@@@STEP_LOG_LINE@python.inline@import psutil@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@for p in psutil.process_iter():@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ try:@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ if p.name in ('mspdbsrv.exe', 'vctip.exe', 'cl.exe', 'link.exe'):@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ p.kill()@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ except psutil._error.AccessDenied:@@@",
|
|
"@@@STEP_LOG_LINE@python.inline@ pass@@@",
|
|
"@@@STEP_LOG_END@python.inline@@@"
|
|
]
|
|
},
|
|
{
|
|
"name": "$result",
|
|
"recipe_result": null,
|
|
"status_code": 0
|
|
}
|
|
] |