"""Path to a checkout of Chrome on this machine."""
return self._win_toolchain_dir.join('src')
- def bootstrap_win_toolchain(self):
- """Run bootstrapping script for the Windows toolchain."""
- bootstrap_script = self.m.vars.infrabots_dir.join(
- 'bootstrap_win_toolchain_json.py')
- win_toolchain_json = self._win_toolchain_dir.join(
- 'src', 'build', 'win_toolchain.json')
- self.m.python(
- 'bootstrap win toolchain',
- script=bootstrap_script,
- args=['--win_toolchain_json', win_toolchain_json,
- '--depot_tools_parent_dir',
- self._win_toolchain_dir])
-
def compile(self, target, **kwargs):
"""Build the given target."""
env = kwargs.pop('env', {})
# The CHROME_PATH environment variable is needed for builders that use
# toolchains downloaded by Chrome.
env['CHROME_PATH'] = self.chrome_path
- if self.m.platform.is_win:
- make_cmd = ['python', 'make.py']
- self.m.run.run_once(self.bootstrap_win_toolchain)
- else:
- make_cmd = ['make']
+ make_cmd = ['make']
cmd = make_cmd + [target]
- try:
- self.m.run(self.m.step, 'build %s' % target, cmd=cmd,
- env=env, cwd=self.m.path['checkout'], **kwargs)
- except self.m.step.StepFailure:
- if self.m.platform.is_win:
- # The linker occasionally crashes on Windows. Try again.
- self.m.run(self.m.step, 'build %s' % target, cmd=cmd,
- env=env, cwd=self.m.path['checkout'], **kwargs)
- else:
- raise
+ self.m.run(self.m.step, 'build %s' % target, cmd=cmd,
+ env=env, cwd=self.m.path['checkout'], **kwargs)
def copy_extra_build_products(self, swarming_out_dir):
pass
+++ /dev/null
-[
- {
- "cmd": [
- "python",
- "-u",
- "\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",
- "[CUSTOM_C:\\_B_WORK]",
- "511"
- ],
- "name": "makedirs checkout_path",
- "~followup_annotations": [
- "@@@STEP_LOG_LINE@python.inline@@@@",
- "@@@STEP_LOG_LINE@python.inline@import sys, os@@@",
- "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@",
- "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@",
- "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@",
- "@@@STEP_LOG_LINE@python.inline@ if os.path.exists(path):@@@",
- "@@@STEP_LOG_LINE@python.inline@ print \"%s exists but is not a dir\" % path@@@",
- "@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@",
- "@@@STEP_LOG_LINE@python.inline@ os.makedirs(path, mode)@@@",
- "@@@STEP_LOG_END@python.inline@@@"
- ]
- },
- {
- "cmd": [
- "python",
- "-u",
- "RECIPE_PACKAGE_REPO[depot_tools]\\gclient.py",
- "config",
- "--spec",
- "cache_dir = '[CUSTOM_C:\\\\_B_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': False, 'name': 'skia', 'url': 'https://skia.googlesource.com/skia.git'}]"
- ],
- "cwd": "[CUSTOM_C:\\_B_WORK]",
- "env": {
- "BUILDTYPE": "Debug",
- "CHROME_HEADLESS": "1",
- "PATH": "%(PATH)s;RECIPE_PACKAGE_REPO[depot_tools]",
- "SKIA_OUT": "[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-MSVC-x86-Debug-ANGLE"
- },
- "name": "gclient setup"
- },
- {
- "cmd": [
- "python",
- "-u",
- "RECIPE_PACKAGE_REPO[depot_tools]\\gclient.py",
- "sync",
- "--verbose",
- "--with_branch_heads",
- "--nohooks",
- "-j2",
- "--reset",
- "--force",
- "--upstream",
- "--no-nag-max",
- "--delete_unversioned_trees",
- "--revision",
- "skia@abc123",
- "--output-json",
- "/path/to/tmp/json"
- ],
- "cwd": "[CUSTOM_C:\\_B_WORK]",
- "env": {
- "BUILDTYPE": "Debug",
- "CHROME_HEADLESS": "1",
- "PATH": "%(PATH)s;RECIPE_PACKAGE_REPO[depot_tools];RECIPE_PACKAGE_REPO[depot_tools]",
- "SKIA_OUT": "[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-MSVC-x86-Debug-ANGLE"
- },
- "name": "gclient sync",
- "~followup_annotations": [
- "@@@STEP_LOG_LINE@json.output@{@@@",
- "@@@STEP_LOG_LINE@json.output@ \"solutions\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"skia/\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }@@@",
- "@@@STEP_LOG_LINE@json.output@ }@@@",
- "@@@STEP_LOG_LINE@json.output@}@@@",
- "@@@STEP_LOG_END@json.output@@@",
- "@@@SET_BUILD_PROPERTY@got_revision@\"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@"
- ]
- },
- {
- "cmd": [
- "python",
- "-u",
- "RECIPE_PACKAGE_REPO[depot_tools]\\gclient.py",
- "recurse",
- "git",
- "config",
- "user.name",
- "local_bot"
- ],
- "cwd": "[CUSTOM_C:\\_B_WORK]",
- "env": {
- "BUILDTYPE": "Debug",
- "CHROME_HEADLESS": "1",
- "PATH": "%(PATH)s;RECIPE_PACKAGE_REPO[depot_tools];RECIPE_PACKAGE_REPO[depot_tools];RECIPE_PACKAGE_REPO[depot_tools]",
- "SKIA_OUT": "[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-MSVC-x86-Debug-ANGLE"
- },
- "name": "gclient recurse (git config user.name)"
- },
- {
- "cmd": [
- "python",
- "-u",
- "RECIPE_PACKAGE_REPO[depot_tools]\\gclient.py",
- "recurse",
- "git",
- "config",
- "user.email",
- "local_bot@example.com"
- ],
- "cwd": "[CUSTOM_C:\\_B_WORK]",
- "env": {
- "BUILDTYPE": "Debug",
- "CHROME_HEADLESS": "1",
- "PATH": "%(PATH)s;RECIPE_PACKAGE_REPO[depot_tools];RECIPE_PACKAGE_REPO[depot_tools];RECIPE_PACKAGE_REPO[depot_tools];RECIPE_PACKAGE_REPO[depot_tools]",
- "SKIA_OUT": "[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-MSVC-x86-Debug-ANGLE"
- },
- "name": "gclient recurse (git config user.email)"
- },
- {
- "cmd": [
- "python",
- "-u",
- "[CUSTOM_C:\\_B_WORK]\\skia\\infra\\bots\\bootstrap_win_toolchain_json.py",
- "--win_toolchain_json",
- "[SLAVE_BUILD]\\src\\build\\win_toolchain.json",
- "--depot_tools_parent_dir",
- "[SLAVE_BUILD]"
- ],
- "name": "bootstrap win toolchain"
- },
- {
- "cmd": [
- "python",
- "make.py",
- "most"
- ],
- "cwd": "[CUSTOM_C:\\_B_WORK]\\skia",
- "env": {
- "BUILDTYPE": "Debug",
- "CHROME_HEADLESS": "1",
- "CHROME_PATH": "[SLAVE_BUILD]\\src",
- "GYP_DEFINES": "qt_sdk=C:/Qt/4.8.5/ skia_angle=1 skia_arch_type=x86 skia_warnings_as_errors=1 skia_win_debuggers_path=c:/DbgHelp skia_win_ltcg=0",
- "PATH": "%(PATH)s;RECIPE_PACKAGE_REPO[depot_tools];RECIPE_PACKAGE_REPO[depot_tools];RECIPE_PACKAGE_REPO[depot_tools];RECIPE_PACKAGE_REPO[depot_tools]",
- "SKIA_OUT": "[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-MSVC-x86-Debug-ANGLE"
- },
- "name": "build most",
- "~followup_annotations": [
- "step returned non-zero exit code: 1",
- "@@@STEP_FAILURE@@@"
- ]
- },
- {
- "cmd": [
- "python",
- "make.py",
- "most"
- ],
- "cwd": "[CUSTOM_C:\\_B_WORK]\\skia",
- "env": {
- "BUILDTYPE": "Debug",
- "CHROME_HEADLESS": "1",
- "CHROME_PATH": "[SLAVE_BUILD]\\src",
- "GYP_DEFINES": "qt_sdk=C:/Qt/4.8.5/ skia_angle=1 skia_arch_type=x86 skia_warnings_as_errors=1 skia_win_debuggers_path=c:/DbgHelp skia_win_ltcg=0",
- "PATH": "%(PATH)s;RECIPE_PACKAGE_REPO[depot_tools];RECIPE_PACKAGE_REPO[depot_tools];RECIPE_PACKAGE_REPO[depot_tools];RECIPE_PACKAGE_REPO[depot_tools]",
- "SKIA_OUT": "[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-MSVC-x86-Debug-ANGLE"
- },
- "name": "build most (2)"
- },
- {
- "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', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', '*.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",
- "[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-MSVC-x86-Debug-ANGLE\\Debug",
- "[CUSTOM_[SWARM_OUT_DIR]]\\out\\Debug"
- ],
- "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', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', 'iOSShell.app', 'iOSShell.ipa', 'visualbench', 'visualbench.exe', '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"
- ],
- "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
- }
-]
\ No newline at end of file