[
  {
    "cmd": [
      "python",
      "-u",
      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
      "[START_DIR]\\skia\\infra\\bots\\assets\\skp\\VERSION",
      "/path/to/tmp/"
    ],
    "infra_step": true,
    "name": "Get downloaded SKP VERSION"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
      "42",
      "[START_DIR]\\tmp\\SKP_VERSION"
    ],
    "infra_step": true,
    "name": "write SKP_VERSION"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
      "[START_DIR]\\skia\\infra\\bots\\assets\\skimage\\VERSION",
      "/path/to/tmp/"
    ],
    "infra_step": true,
    "name": "Get downloaded skimage VERSION"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
      "42",
      "[START_DIR]\\tmp\\SK_IMAGE_VERSION"
    ],
    "infra_step": true,
    "name": "write SK_IMAGE_VERSION"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
      "[START_DIR]\\skia\\infra\\bots\\assets\\svg\\VERSION",
      "/path/to/tmp/"
    ],
    "infra_step": true,
    "name": "Get downloaded SVG VERSION"
  },
  {
    "cmd": [
      "python",
      "-u",
      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
      "42",
      "[START_DIR]\\tmp\\SVG_VERSION"
    ],
    "infra_step": true,
    "name": "write SVG_VERSION"
  },
  {
    "cmd": [
      "python",
      "-u",
      "RECIPE_MODULE[build::file]\\resources\\fileutil.py",
      "rmtree",
      "[CUSTOM_[SWARM_OUT_DIR]]\\dm"
    ],
    "env": {
      "PYTHONPATH": "[START_DIR]\\skia\\infra\\bots\\.recipe_deps\\build\\scripts"
    },
    "infra_step": true,
    "name": "rmtree dm"
  },
  {
    "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_[SWARM_OUT_DIR]]\\dm",
      "511"
    ],
    "infra_step": true,
    "name": "makedirs dm",
    "~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",
      "\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",
      "[START_DIR]\\tmp",
      "511"
    ],
    "infra_step": true,
    "name": "makedirs tmp_dir",
    "~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",
      "\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = 'https://gold.skia.org/_/hashes'\nRETRIES = 5\nTIMEOUT = 60\nWAIT_BASE = 15\n\nsocket.setdefaulttimeout(TIMEOUT)\nfor retry in range(RETRIES):\n  try:\n    with contextlib.closing(\n        urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:\n      hashes = w.read()\n      with open(sys.argv[1], 'w') as f:\n        f.write(hashes)\n        break\n  except Exception as e:\n    print 'Failed to get uninteresting hashes from %s:' % HASHES_URL\n    print e\n    if retry == RETRIES:\n      raise\n    waittime = WAIT_BASE * math.pow(2, retry)\n    print 'Retry in %d seconds.' % waittime\n    time.sleep(waittime)\n",
      "[START_DIR]\\tmp\\uninteresting_hashes.txt"
    ],
    "env": {
      "BUILDTYPE": "Release_x64",
      "CHROME_HEADLESS": "1",
      "PATH": "%(PATH)s;RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]\\out"
    },
    "infra_step": true,
    "name": "get uninteresting hashes",
    "~followup_annotations": [
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@import contextlib@@@",
      "@@@STEP_LOG_LINE@python.inline@import math@@@",
      "@@@STEP_LOG_LINE@python.inline@import socket@@@",
      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
      "@@@STEP_LOG_LINE@python.inline@import time@@@",
      "@@@STEP_LOG_LINE@python.inline@import urllib2@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@HASHES_URL = 'https://gold.skia.org/_/hashes'@@@",
      "@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@",
      "@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@",
      "@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@",
      "@@@STEP_LOG_LINE@python.inline@@@@",
      "@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@",
      "@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@",
      "@@@STEP_LOG_LINE@python.inline@  try:@@@",
      "@@@STEP_LOG_LINE@python.inline@    with contextlib.closing(@@@",
      "@@@STEP_LOG_LINE@python.inline@        urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@",
      "@@@STEP_LOG_LINE@python.inline@      hashes = w.read()@@@",
      "@@@STEP_LOG_LINE@python.inline@      with open(sys.argv[1], 'w') as f:@@@",
      "@@@STEP_LOG_LINE@python.inline@        f.write(hashes)@@@",
      "@@@STEP_LOG_LINE@python.inline@        break@@@",
      "@@@STEP_LOG_LINE@python.inline@  except Exception as e:@@@",
      "@@@STEP_LOG_LINE@python.inline@    print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@",
      "@@@STEP_LOG_LINE@python.inline@    print e@@@",
      "@@@STEP_LOG_LINE@python.inline@    if retry == RETRIES:@@@",
      "@@@STEP_LOG_LINE@python.inline@      raise@@@",
      "@@@STEP_LOG_LINE@python.inline@    waittime = WAIT_BASE * math.pow(2, retry)@@@",
      "@@@STEP_LOG_LINE@python.inline@    print 'Retry in %d seconds.' % waittime@@@",
      "@@@STEP_LOG_LINE@python.inline@    time.sleep(waittime)@@@",
      "@@@STEP_LOG_END@python.inline@@@"
    ]
  },
  {
    "cmd": [
      "[START_DIR]\\out\\Release_x64\\dm",
      "--undefok",
      "--resourcePath",
      "[START_DIR]\\skia\\resources",
      "--skps",
      "[START_DIR]\\skp",
      "--images",
      "[START_DIR]\\skimage\\dm",
      "--colorImages",
      "[START_DIR]\\skimage\\colorspace",
      "--nameByHash",
      "--properties",
      "gitHash",
      "abc123",
      "master",
      "client.skia",
      "builder",
      "Test-Win8-MSVC-ShuttleB-CPU-AVX2-x86_64-Release-Trybot",
      "build_number",
      "5",
      "issue",
      "500",
      "patchset",
      "1",
      "patch_storage",
      "rietveld",
      "--svgs",
      "[START_DIR]\\svg",
      "--key",
      "arch",
      "x86_64",
      "compiler",
      "MSVC",
      "configuration",
      "Release",
      "cpu_or_gpu",
      "CPU",
      "cpu_or_gpu_value",
      "AVX2",
      "model",
      "ShuttleB",
      "os",
      "Win8",
      "--uninterestingHashesFile",
      "[START_DIR]\\tmp\\uninteresting_hashes.txt",
      "--writePath",
      "[CUSTOM_[SWARM_OUT_DIR]]\\dm",
      "--nogpu",
      "--randomProcessorTest",
      "--config",
      "8888",
      "srgb",
      "pdf",
      "gl",
      "gldft",
      "glsrgb",
      "glmsaa8",
      "serialize-8888",
      "tiles_rt-8888",
      "pic-8888",
      "--src",
      "tests",
      "gm",
      "image",
      "colorImage",
      "svg",
      "--blacklist",
      "glsrgb",
      "image",
      "_",
      "_",
      "8888",
      "image",
      "_",
      "_",
      "_",
      "image",
      "gen_platf",
      "rle8-height-negative.bmp",
      "_",
      "image",
      "gen_platf",
      "rle4-height-negative.bmp",
      "_",
      "image",
      "gen_platf",
      "pal8os2v2.bmp",
      "_",
      "image",
      "gen_platf",
      "pal8os2v2-16.bmp",
      "_",
      "image",
      "gen_platf",
      "rgba32abf.bmp",
      "_",
      "image",
      "gen_platf",
      "rgb24prof.bmp",
      "_",
      "image",
      "gen_platf",
      "rgb24lprof.bmp",
      "_",
      "image",
      "gen_platf",
      "8bpp-pixeldata-cropped.bmp",
      "_",
      "image",
      "gen_platf",
      "4bpp-pixeldata-cropped.bmp",
      "_",
      "image",
      "gen_platf",
      "32bpp-pixeldata-cropped.bmp",
      "_",
      "image",
      "gen_platf",
      "24bpp-pixeldata-cropped.bmp",
      "_",
      "image",
      "gen_platf",
      "testimgari.jpg",
      "_",
      "gm",
      "_",
      "composeshader_bitmap",
      "_",
      "gm",
      "_",
      "fontscalerdistortable",
      "_",
      "svg",
      "_",
      "Nebraska-StateSeal.svg",
      "serialize-8888",
      "gm",
      "_",
      "bleed_image",
      "serialize-8888",
      "gm",
      "_",
      "c_gms",
      "serialize-8888",
      "gm",
      "_",
      "colortype",
      "serialize-8888",
      "gm",
      "_",
      "colortype_xfermodes",
      "serialize-8888",
      "gm",
      "_",
      "drawfilter",
      "serialize-8888",
      "gm",
      "_",
      "fontmgr_bounds_0.75_0",
      "serialize-8888",
      "gm",
      "_",
      "fontmgr_bounds_1_-0.25",
      "serialize-8888",
      "gm",
      "_",
      "fontmgr_bounds",
      "serialize-8888",
      "gm",
      "_",
      "fontmgr_match",
      "serialize-8888",
      "gm",
      "_",
      "fontmgr_iter",
      "serialize-8888",
      "gm",
      "_",
      "imagemasksubset",
      "serialize-8888",
      "gm",
      "_",
      "bitmapfilters",
      "serialize-8888",
      "gm",
      "_",
      "bitmapshaders",
      "serialize-8888",
      "gm",
      "_",
      "bleed",
      "serialize-8888",
      "gm",
      "_",
      "bleed_alpha_bmp",
      "serialize-8888",
      "gm",
      "_",
      "bleed_alpha_bmp_shader",
      "serialize-8888",
      "gm",
      "_",
      "convex_poly_clip",
      "serialize-8888",
      "gm",
      "_",
      "extractalpha",
      "serialize-8888",
      "gm",
      "_",
      "filterbitmap_checkerboard_32_32_g8",
      "serialize-8888",
      "gm",
      "_",
      "filterbitmap_image_mandrill_64",
      "serialize-8888",
      "gm",
      "_",
      "shadows",
      "serialize-8888",
      "gm",
      "_",
      "simpleaaclip_aaclip",
      "serialize-8888",
      "gm",
      "_",
      "composeshader_bitmap",
      "serialize-8888",
      "gm",
      "_",
      "scaled_tilemodes_npot",
      "serialize-8888",
      "gm",
      "_",
      "scaled_tilemodes",
      "serialize-8888",
      "gm",
      "_",
      "typefacerendering_pfaMac",
      "serialize-8888",
      "gm",
      "_",
      "parsedpaths",
      "serialize-8888",
      "gm",
      "_",
      "ImageGeneratorExternal_rect",
      "serialize-8888",
      "gm",
      "_",
      "ImageGeneratorExternal_shader",
      "serialize-8888",
      "gm",
      "_",
      "shadow_utils",
      "serialize-8888",
      "gm",
      "_",
      "bleed_alpha_image",
      "serialize-8888",
      "gm",
      "_",
      "bleed_alpha_image_shader",
      "serialize-8888",
      "gm",
      "_",
      "verylargebitmap",
      "serialize-8888",
      "gm",
      "_",
      "verylarge_picture_image",
      "pic-8888",
      "gm",
      "_",
      "drawfilter",
      "pic-8888",
      "gm",
      "_",
      "image-cacherator-from-picture",
      "serialize-8888",
      "gm",
      "_",
      "image-cacherator-from-picture",
      "pic-8888",
      "gm",
      "_",
      "image-cacherator-from-raster",
      "serialize-8888",
      "gm",
      "_",
      "image-cacherator-from-raster",
      "pic-8888",
      "gm",
      "_",
      "image-cacherator-from-ctable",
      "serialize-8888",
      "gm",
      "_",
      "image-cacherator-from-ctable",
      "pic-8888",
      "gm",
      "_",
      "gamut",
      "serialize-8888",
      "gm",
      "_",
      "gamut",
      "pic-8888",
      "gm",
      "_",
      "complexclip4_bw",
      "serialize-8888",
      "gm",
      "_",
      "complexclip4_bw",
      "pic-8888",
      "gm",
      "_",
      "complexclip4_aa",
      "serialize-8888",
      "gm",
      "_",
      "complexclip4_aa",
      "tiles_rt-8888",
      "gm",
      "_",
      "complexclip4_bw",
      "tiles_rt-8888",
      "gm",
      "_",
      "complexclip4_aa",
      "--noRAW_threading"
    ],
    "env": {
      "BUILDTYPE": "Release_x64",
      "CHROME_HEADLESS": "1",
      "PATH": "%(PATH)s;RECIPE_PACKAGE_REPO[depot_tools]",
      "SKIA_OUT": "[START_DIR]\\out"
    },
    "name": "dm"
  },
  {
    "name": "$result",
    "recipe_result": null,
    "status_code": 0
  }
]