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]",
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': 'pdfium', 'url': 'https://pdfium.googlesource.com/pdfium.git'}]",
32      "--patch_root",
33      "pdfium/third_party/skia",
34      "--revision_mapping_file",
35      "{\"pdfium\": \"got_pdfium_revision\", \"pdfium/third_party/skia\": \"got_revision\"}",
36      "--git-cache-dir",
37      "[CUSTOM_/_B_CACHE]",
38      "--output_json",
39      "/path/to/tmp/json",
40      "--revision",
41      "pdfium@origin/master",
42      "--revision",
43      "pdfium/third_party/skia@abc123",
44      "--output_manifest"
45    ],
46    "cwd": "[CUSTOM_/_B_WORK]",
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@    \"pdfium\": \"origin/master\", @@@",
60      "@@@STEP_LOG_LINE@json.output@    \"pdfium/third_party/skia\": \"abc123\"@@@",
61      "@@@STEP_LOG_LINE@json.output@  }, @@@",
62      "@@@STEP_LOG_LINE@json.output@  \"manifest\": {@@@",
63      "@@@STEP_LOG_LINE@json.output@    \"pdfium\": {@@@",
64      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/pdfium.git\", @@@",
65      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"d69d97171c17fdb12a52f78847e2ee2f0594eff1\"@@@",
66      "@@@STEP_LOG_LINE@json.output@    }, @@@",
67      "@@@STEP_LOG_LINE@json.output@    \"pdfium/third_party/skia\": {@@@",
68      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/pdfium/third_party/skia.git\", @@@",
69      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"85501db4bcbeb8f295309fdcda1a743388f0f104\"@@@",
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\": \"pdfium/third_party/skia\", @@@",
74      "@@@STEP_LOG_LINE@json.output@  \"properties\": {@@@",
75      "@@@STEP_LOG_LINE@json.output@    \"got_pdfium_revision\": \"d69d97171c17fdb12a52f78847e2ee2f0594eff1\", @@@",
76      "@@@STEP_LOG_LINE@json.output@    \"got_pdfium_revision_cp\": \"refs/heads/master@{#52055}\", @@@",
77      "@@@STEP_LOG_LINE@json.output@    \"got_revision\": \"85501db4bcbeb8f295309fdcda1a743388f0f104\", @@@",
78      "@@@STEP_LOG_LINE@json.output@    \"got_revision_cp\": \"refs/heads/master@{#120212}\"@@@",
79      "@@@STEP_LOG_LINE@json.output@  }, @@@",
80      "@@@STEP_LOG_LINE@json.output@  \"root\": \"pdfium\", @@@",
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_pdfium_revision_cp@\"refs/heads/master@{#52055}\"@@@",
85      "@@@SET_BUILD_PROPERTY@got_revision@\"85501db4bcbeb8f295309fdcda1a743388f0f104\"@@@",
86      "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#120212}\"@@@",
87      "@@@SET_BUILD_PROPERTY@got_pdfium_revision@\"d69d97171c17fdb12a52f78847e2ee2f0594eff1\"@@@"
88    ]
89  },
90  {
91    "cmd": [
92      "gclient",
93      "runhook",
94      "gn_linux64"
95    ],
96    "cwd": "[CUSTOM_/_B_WORK]/pdfium",
97    "env": {
98      "BUILDTYPE": "Release",
99      "CHROME_HEADLESS": "1",
100      "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]",
101      "SKIA_OUT": "[CUSTOM_/_B_WORK]/pdfium/third_party/skia/out/Build-Ubuntu-GCC-x86_64-Release-PDFium"
102    },
103    "name": "runhook"
104  },
105  {
106    "cmd": [
107      "python",
108      "build/linux/sysroot_scripts/install-sysroot.py",
109      "--arch=amd64"
110    ],
111    "cwd": "[CUSTOM_/_B_WORK]/pdfium",
112    "env": {
113      "BUILDTYPE": "Release",
114      "CHROME_HEADLESS": "1",
115      "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]",
116      "SKIA_OUT": "[CUSTOM_/_B_WORK]/pdfium/third_party/skia/out/Build-Ubuntu-GCC-x86_64-Release-PDFium"
117    },
118    "name": "sysroot"
119  },
120  {
121    "cmd": [
122      "gn",
123      "gen",
124      "out/skia",
125      "--args=pdf_is_standalone=true clang_use_chrome_plugins=false is_component_build=false is_debug=false pdf_use_skia=true"
126    ],
127    "cwd": "[CUSTOM_/_B_WORK]/pdfium",
128    "env": {
129      "BUILDTYPE": "Release",
130      "CHROME_HEADLESS": "1",
131      "CHROMIUM_BUILDTOOLS_PATH": "[CUSTOM_/_B_WORK]/pdfium/buildtools",
132      "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]",
133      "SKIA_OUT": "[CUSTOM_/_B_WORK]/pdfium/third_party/skia/out/Build-Ubuntu-GCC-x86_64-Release-PDFium"
134    },
135    "name": "gn_gen"
136  },
137  {
138    "cmd": [
139      "ninja",
140      "-C",
141      "out/skia",
142      "-j100"
143    ],
144    "cwd": "[CUSTOM_/_B_WORK]/pdfium",
145    "env": {
146      "BUILDTYPE": "Release",
147      "CHROME_HEADLESS": "1",
148      "CHROMIUM_BUILDTOOLS_PATH": "[CUSTOM_/_B_WORK]/pdfium/buildtools",
149      "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]",
150      "SKIA_OUT": "[CUSTOM_/_B_WORK]/pdfium/third_party/skia/out/Build-Ubuntu-GCC-x86_64-Release-PDFium"
151    },
152    "name": "build_pdfium"
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]/pdfium/third_party/skia/out/Build-Ubuntu-GCC-x86_64-Release-PDFium/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]