Chromium Code Reviews| Index: scripts/slave/recipe_modules/archive/api.py |
| diff --git a/scripts/slave/recipe_modules/archive/api.py b/scripts/slave/recipe_modules/archive/api.py |
| index b451d1b9169b90d18a0bec72916984174de16e5a..61a1ebf2b559aaa1d0400eb1c53c31467f5854f9 100644 |
| --- a/scripts/slave/recipe_modules/archive/api.py |
| +++ b/scripts/slave/recipe_modules/archive/api.py |
| @@ -270,6 +270,26 @@ class ArchiveApi(recipe_api.RecipeApi): |
| else: |
| staging_dir = self.m.path.mkdtemp('chrome_staging') |
| + llvm_tools_to_copy = ['llvm-symbolizer', 'sancov'] |
| + llvm_bin_dir = self.m.path['checkout'].join('third_party', 'llvm-build', |
| + 'Release+Asserts', 'bin') |
| + ext = '.exe' if self.m.platform.is_win else '' |
| + |
| + for tool in llvm_tools_to_copy: |
| + tool_src = self.m.path.join(llvm_bin_dir, tool + ext) |
| + tool_dst = self.m.path.join(build_dir, tool + ext) |
| + |
| + if not self.m.path.exists(tool_src): |
| + continue |
| + |
| + try: |
| + self.m.file.copy('Copy ' + tool, tool_src, tool_dst) |
| + except self.m.step.StepFailure: # pragma: no cover |
| + # On some builds, it appears that a soft/hard link of llvm-symbolizer |
| + # exists in the build directory, which causes shutil.copy to raise an |
| + # exception. Either way, this shouldn't cause the whole build to fail. |
|
Nico
2016/10/07 20:04:31
Doesn't this still have the "only works on clobber
Oliver Chang
2016/10/07 20:34:58
file.copy should always replace the destination. T
|
| + pass |
| + |
| # Build the list of files to archive. |
| zip_file_list = [f for f in self.m.file.listdir('build_dir', build_dir) |
| if self._cf_should_package_file(f)] |