OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2013 The Chromium Authors. All rights reserved. | 2 # Copyright 2013 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """ | 6 """ |
7 This file emits the list of reasons why a particular build needs to be clobbered | 7 This file emits the list of reasons why a particular build needs to be clobbered |
8 (or a list of 'landmines'). | 8 (or a list of 'landmines'). |
9 """ | 9 """ |
10 | 10 |
11 import sys | 11 import sys |
12 | 12 |
13 import landmine_utils | 13 import landmine_utils |
14 | 14 |
15 | 15 |
16 builder = landmine_utils.builder | |
17 distributor = landmine_utils.distributor | 16 distributor = landmine_utils.distributor |
18 gyp_defines = landmine_utils.gyp_defines | 17 gyp_defines = landmine_utils.gyp_defines |
19 gyp_msvs_version = landmine_utils.gyp_msvs_version | 18 gyp_msvs_version = landmine_utils.gyp_msvs_version |
20 platform = landmine_utils.platform | 19 platform = landmine_utils.platform |
21 | 20 |
22 | 21 |
23 def print_landmines(): | 22 def print_landmines(): |
24 """ | 23 """ |
25 ALL LANDMINES ARE EMITTED FROM HERE. | 24 ALL LANDMINES ARE EMITTED FROM HERE. |
26 """ | 25 """ |
27 # DO NOT add landmines as part of a regular CL. Landmines are a last-effort | 26 # DO NOT add landmines as part of a regular CL. Landmines are a last-effort |
28 # bandaid fix if a CL that got landed has a build dependency bug and all bots | 27 # bandaid fix if a CL that got landed has a build dependency bug and all bots |
29 # need to be cleaned up. If you're writing a new CL that causes build | 28 # need to be cleaned up. If you're writing a new CL that causes build |
30 # dependency problems, fix the dependency problems instead of adding a | 29 # dependency problems, fix the dependency problems instead of adding a |
31 # landmine. | 30 # landmine. |
32 | 31 |
33 if (distributor() == 'goma' and platform() == 'win32' and | 32 if distributor() == 'goma' and platform() == 'win32': |
34 builder() == 'ninja'): | |
35 print 'Need to clobber winja goma due to backend cwd cache fix.' | 33 print 'Need to clobber winja goma due to backend cwd cache fix.' |
36 if platform() == 'android': | 34 if platform() == 'android': |
37 print 'Clobber: to handle new way of suppressing findbugs failures.' | 35 print 'Clobber: to handle new way of suppressing findbugs failures.' |
38 print 'Clobber to fix gyp not rename package name (crbug.com/457038)' | 36 print 'Clobber to fix gyp not rename package name (crbug.com/457038)' |
39 if platform() == 'win' and builder() == 'ninja': | 37 if platform() == 'win': |
40 print 'Compile on cc_unittests fails due to symbols removed in r185063.' | 38 print 'Compile on cc_unittests fails due to symbols removed in r185063.' |
41 if platform() == 'linux' and builder() == 'ninja': | 39 if platform() == 'linux': |
42 print 'Builders switching from make to ninja will clobber on this.' | 40 print 'Builders switching from make to ninja will clobber on this.' |
43 if platform() == 'mac': | 41 if platform() == 'mac': |
44 print 'Switching from bundle to unbundled dylib (issue 14743002).' | 42 print 'Switching from bundle to unbundled dylib (issue 14743002).' |
45 if platform() in ('win', 'mac'): | 43 if platform() in ('win', 'mac'): |
46 print ('Improper dependency for create_nmf.py broke in r240802, ' | 44 print ('Improper dependency for create_nmf.py broke in r240802, ' |
47 'fixed in r240860.') | 45 'fixed in r240860.') |
48 if (platform() == 'win' and builder() == 'ninja' and | 46 if (platform() == 'win' and |
49 gyp_msvs_version() == '2012' and | 47 gyp_msvs_version() == '2012' and |
50 gyp_defines().get('target_arch') == 'x64' and | 48 gyp_defines().get('target_arch') == 'x64' and |
51 gyp_defines().get('dcheck_always_on') == '1'): | 49 gyp_defines().get('dcheck_always_on') == '1'): |
52 print "Switched win x64 trybots from VS2010 to VS2012." | 50 print "Switched win x64 trybots from VS2010 to VS2012." |
53 if (platform() == 'win' and builder() == 'ninja' and | 51 if (platform() == 'win' and |
54 gyp_msvs_version().startswith('2013')): | 52 gyp_msvs_version().startswith('2013')): |
55 print "Switch to VS2013" | 53 print "Switch to VS2013" |
56 if (platform() == 'win' and gyp_msvs_version().startswith('2015')): | 54 if (platform() == 'win' and gyp_msvs_version().startswith('2015')): |
57 print 'Switch to VS2015 Update 2' | 55 print 'Switch to VS2015 Update 2' |
58 print 'Need to clobber everything due to an IDL change in r154579 (blink)' | 56 print 'Need to clobber everything due to an IDL change in r154579 (blink)' |
59 print 'Need to clobber everything due to gen file moves in r175513 (Blink)' | 57 print 'Need to clobber everything due to gen file moves in r175513 (Blink)' |
60 if (platform() != 'ios'): | 58 if (platform() != 'ios'): |
61 print 'Clobber to get rid of obselete test plugin after r248358' | 59 print 'Clobber to get rid of obselete test plugin after r248358' |
62 print 'Clobber to rebuild GN files for V8' | 60 print 'Clobber to rebuild GN files for V8' |
63 print 'Clobber to get rid of stale generated mojom.h files' | 61 print 'Clobber to get rid of stale generated mojom.h files' |
(...skipping 17 matching lines...) Expand all Loading... |
81 print 'Clobber to remove libsystem.dylib. See crbug.com/620075' | 79 print 'Clobber to remove libsystem.dylib. See crbug.com/620075' |
82 | 80 |
83 | 81 |
84 def main(): | 82 def main(): |
85 print_landmines() | 83 print_landmines() |
86 return 0 | 84 return 0 |
87 | 85 |
88 | 86 |
89 if __name__ == '__main__': | 87 if __name__ == '__main__': |
90 sys.exit(main()) | 88 sys.exit(main()) |
OLD | NEW |