blob: 3473cbb98c9f3567a8fa8aa0574b197807818153 [file] [log] [blame]
sivachandra@chromium.org54da9682013-08-21 11:44:58 +09001#!/usr/bin/env python
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
4# found in the LICENSE file.
5
6"""
7This file emits the list of reasons why a particular build needs to be clobbered
8(or a list of 'landmines').
9"""
10
sivachandra@chromium.org54da9682013-08-21 11:44:58 +090011import sys
12
13import landmine_utils
14
15
scottmg@chromium.orgad0c02e2014-01-19 01:21:14 +090016builder = landmine_utils.builder
sivachandra@chromium.org54da9682013-08-21 11:44:58 +090017distributor = landmine_utils.distributor
18gyp_defines = landmine_utils.gyp_defines
19gyp_msvs_version = landmine_utils.gyp_msvs_version
20platform = landmine_utils.platform
21
22
scottmg@chromium.org2f8c83b2014-08-14 23:03:30 +090023def print_landmines():
sivachandra@chromium.org54da9682013-08-21 11:44:58 +090024 """
25 ALL LANDMINES ARE EMITTED FROM HERE.
sivachandra@chromium.org54da9682013-08-21 11:44:58 +090026 """
27 if (distributor() == 'goma' and platform() == 'win32' and
28 builder() == 'ninja'):
29 print 'Need to clobber winja goma due to backend cwd cache fix.'
30 if platform() == 'android':
qsrb979da22014-08-28 00:18:43 +090031 print 'Clobber: To delete generated mojo class files.'
sivachandra@chromium.org54da9682013-08-21 11:44:58 +090032 if platform() == 'win' and builder() == 'ninja':
33 print 'Compile on cc_unittests fails due to symbols removed in r185063.'
34 if platform() == 'linux' and builder() == 'ninja':
35 print 'Builders switching from make to ninja will clobber on this.'
36 if platform() == 'mac':
37 print 'Switching from bundle to unbundled dylib (issue 14743002).'
iannucci@chromium.org78646dd2013-12-17 06:48:08 +090038 if platform() in ('win', 'mac'):
39 print ('Improper dependency for create_nmf.py broke in r240802, '
40 'fixed in r240860.')
sivachandra@chromium.org54da9682013-08-21 11:44:58 +090041 if (platform() == 'win' and builder() == 'ninja' and
42 gyp_msvs_version() == '2012' and
43 gyp_defines().get('target_arch') == 'x64' and
44 gyp_defines().get('dcheck_always_on') == '1'):
45 print "Switched win x64 trybots from VS2010 to VS2012."
scottmg@chromium.orgc7a887d2014-01-18 11:03:57 +090046 if (platform() == 'win' and builder() == 'ninja' and
scottmg@chromium.org99db73e2014-02-06 11:44:55 +090047 gyp_msvs_version().startswith('2013')):
scottmg@chromium.orgc7a887d2014-01-18 11:03:57 +090048 print "Switched win from VS2010 to VS2013."
scottmg@chromium.orga98347c2014-05-22 02:10:43 +090049 print "Update to VS2013 Update 2."
sivachandra@chromium.org54da9682013-08-21 11:44:58 +090050 print 'Need to clobber everything due to an IDL change in r154579 (blink)'
nbarth@chromium.org07c0b322014-06-06 20:25:13 +090051 print 'Need to clobber everything due to gen file moves in r175513 (Blink)'
jochen@chromium.org22789942014-02-14 00:53:08 +090052 if (platform() != 'ios'):
53 print 'Clobber to get rid of obselete test plugin after r248358'
machenbach@chromium.org46d90b42014-06-04 23:26:03 +090054 print 'Clobber to rebuild GN files for V8'
bradnelson@google.com52f2eac2014-07-03 08:11:11 +090055 print 'Need to clobber everything due to build_nexe change in nacl r13424'
thakis@chromium.orgb71ec462014-08-02 07:08:49 +090056 print '[chromium-dev] PSA: clobber build needed for IDR_INSPECTOR_* compil...'
eseidel@chromium.orgcfa02862014-08-06 08:21:53 +090057 print 'blink_resources.grd changed: crbug.com/400860'
sivachandra@chromium.org54da9682013-08-21 11:44:58 +090058
59
60def main():
scottmg@chromium.org2f8c83b2014-08-14 23:03:30 +090061 print_landmines()
sivachandra@chromium.org54da9682013-08-21 11:44:58 +090062 return 0
63
64
65if __name__ == '__main__':
66 sys.exit(main())