OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """Utility class to build the chromium master BuildFactory's. | 5 """Utility class to build the chromium master BuildFactory's. |
6 | 6 |
7 Based on gclient_factory.py and adds chromium-specific steps.""" | 7 Based on gclient_factory.py and adds chromium-specific steps.""" |
8 | 8 |
9 import os | 9 import os |
10 import re | 10 import re |
(...skipping 865 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
876 | 876 |
877 tests_for_build = [ | 877 tests_for_build = [ |
878 re.match('^(?:valgrind_|heapcheck_)?(.*)$', t).group(1) for t in tests] | 878 re.match('^(?:valgrind_|heapcheck_)?(.*)$', t).group(1) for t in tests] |
879 | 879 |
880 # Ensure that component is set correctly in the gyp defines. | 880 # Ensure that component is set correctly in the gyp defines. |
881 ForceComponent(target, project, factory_properties['gclient_env']) | 881 ForceComponent(target, project, factory_properties['gclient_env']) |
882 | 882 |
883 # Ensure GYP errors out if files referenced in .gyp files are missing. | 883 # Ensure GYP errors out if files referenced in .gyp files are missing. |
884 self.ForceMissingFilesToBeFatal(project, factory_properties['gclient_env']) | 884 self.ForceMissingFilesToBeFatal(project, factory_properties['gclient_env']) |
885 | 885 |
| 886 is_windows_asan_builder = (slave_type == 'Builder' and |
| 887 self._target_platform == 'win32' and |
| 888 factory_properties.get('asan')) |
| 889 |
886 factory = self.BuildFactory(target, clobber, tests_for_build, mode, | 890 factory = self.BuildFactory(target, clobber, tests_for_build, mode, |
887 slave_type, options, compile_timeout, build_url, | 891 slave_type, options, compile_timeout, build_url, |
888 project, factory_properties, | 892 project, factory_properties, |
889 gclient_deps=gclient_deps) | 893 gclient_deps=gclient_deps, |
| 894 skip_archive_steps=is_windows_asan_builder) |
890 | 895 |
891 # Get the factory command object to create new steps to the factory. | 896 # Get the factory command object to create new steps to the factory. |
892 chromium_cmd_obj = chromium_commands.ChromiumCommands(factory, | 897 chromium_cmd_obj = chromium_commands.ChromiumCommands(factory, |
893 target, | 898 target, |
894 self._build_dir, | 899 self._build_dir, |
895 self._target_platform) | 900 self._target_platform) |
896 | 901 |
| 902 # Add ASANification step for windows |
| 903 # MUST BE FIRST STEP ADDED AFTER BuildFactory CALL in order to add back |
| 904 # the ZipBuild step in it's expected place |
| 905 if is_windows_asan_builder: |
| 906 chromium_cmd_obj.AddWindowsASANStep() |
| 907 # Need to add the Zip Build step back |
| 908 chromium_cmd_obj.AddZipBuild(halt_on_failure=True, |
| 909 factory_properties=factory_properties) |
| 910 |
897 # Add this archive build step. | 911 # Add this archive build step. |
898 if factory_properties.get('archive_build'): | 912 if factory_properties.get('archive_build'): |
899 chromium_cmd_obj.AddArchiveBuild(factory_properties=factory_properties) | 913 chromium_cmd_obj.AddArchiveBuild(factory_properties=factory_properties) |
900 | 914 |
901 if factory_properties.get('asan_archive_build'): | 915 if factory_properties.get('asan_archive_build'): |
902 chromium_cmd_obj.AddAsanArchiveBuild( | 916 chromium_cmd_obj.AddAsanArchiveBuild( |
903 factory_properties=factory_properties) | 917 factory_properties=factory_properties) |
904 | 918 |
905 # Add the package source step. | 919 # Add the package source step. |
906 if slave_type == 'Indexer': | 920 if slave_type == 'Indexer': |
(...skipping 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1275 build_dir=web_build_dir) | 1289 build_dir=web_build_dir) |
1276 chromium_cmd_obj.AddChromebotServer(factory_properties) | 1290 chromium_cmd_obj.AddChromebotServer(factory_properties) |
1277 chromium_cmd_obj.AddReliabilityTests(client_os) | 1291 chromium_cmd_obj.AddReliabilityTests(client_os) |
1278 elif slave_type == 'ChromebotClient': | 1292 elif slave_type == 'ChromebotClient': |
1279 chromium_cmd_obj.AddGetBuildForChromebot(client_os, | 1293 chromium_cmd_obj.AddGetBuildForChromebot(client_os, |
1280 extract=True, | 1294 extract=True, |
1281 build_url=build_url) | 1295 build_url=build_url) |
1282 chromium_cmd_obj.AddChromebotClient(factory_properties) | 1296 chromium_cmd_obj.AddChromebotClient(factory_properties) |
1283 | 1297 |
1284 return factory | 1298 return factory |
OLD | NEW |