OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 # Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |
3 # | 3 # |
4 # Use of this source code is governed by a BSD-style license | 4 # Use of this source code is governed by a BSD-style license |
5 # that can be found in the LICENSE file in the root of the source | 5 # that can be found in the LICENSE file in the root of the source |
6 # tree. An additional intellectual property rights grant can be found | 6 # tree. An additional intellectual property rights grant can be found |
7 # in the file PATENTS. All contributing project authors may | 7 # in the file PATENTS. All contributing project authors may |
8 # be found in the AUTHORS file in the root of the source tree. | 8 # be found in the AUTHORS file in the root of the source tree. |
9 | 9 |
10 """ | 10 """ |
11 This file emits the list of reasons why a particular build needs to be clobbered | 11 This file emits the list of reasons why a particular build needs to be clobbered |
12 (or a list of 'landmines'). | 12 (or a list of 'landmines'). |
13 """ | 13 """ |
14 | 14 |
15 import os | 15 import os |
16 import sys | 16 import sys |
17 | 17 |
18 script_dir = os.path.dirname(os.path.realpath(__file__)) | 18 SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) |
19 checkout_root = os.path.abspath(os.path.join(script_dir, os.pardir)) | 19 CHECKOUT_ROOT = os.path.abspath(os.path.join(SCRIPT_DIR, os.pardir)) |
20 sys.path.insert(0, os.path.join(checkout_root, 'build')) | 20 sys.path.insert(0, os.path.join(CHECKOUT_ROOT, 'build')) |
21 import landmine_utils | 21 import landmine_utils |
22 | 22 |
23 | 23 |
24 distributor = landmine_utils.distributor | 24 platform = landmine_utils.platform # pylint: disable=invalid-name |
25 gyp_defines = landmine_utils.gyp_defines | |
26 gyp_msvs_version = landmine_utils.gyp_msvs_version | |
27 platform = landmine_utils.platform | |
28 | 25 |
29 | 26 |
30 def print_landmines(): | 27 def print_landmines(): # pylint: disable=invalid-name |
31 """ | 28 """ |
32 ALL LANDMINES ARE EMITTED FROM HERE. | 29 ALL LANDMINES ARE EMITTED FROM HERE. |
33 """ | 30 """ |
34 # DO NOT add landmines as part of a regular CL. Landmines are a last-effort | 31 # DO NOT add landmines as part of a regular CL. Landmines are a last-effort |
35 # bandaid fix if a CL that got landed has a build dependency bug and all bots | 32 # bandaid fix if a CL that got landed has a build dependency bug and all bots |
36 # need to be cleaned up. If you're writing a new CL that causes build | 33 # need to be cleaned up. If you're writing a new CL that causes build |
37 # dependency problems, fix the dependency problems instead of adding a | 34 # dependency problems, fix the dependency problems instead of adding a |
38 # landmine. | 35 # landmine. |
39 # See the Chromium version in src/build/get_landmines.py for usage examples. | 36 # See the Chromium version in src/build/get_landmines.py for usage examples. |
40 print 'Clobber to remove out/{Debug,Release}/args.gn (webrtc:5070)' | 37 print 'Clobber to remove out/{Debug,Release}/args.gn (webrtc:5070)' |
41 if platform() == 'android': | 38 if platform() == 'android': |
42 print ('Clobber to remove artifacts on Android causing lint errors after ' | 39 print ('Clobber to remove artifacts on Android causing lint errors after ' |
43 'rolling in https://codereview.webrtc.org/2293863002') | 40 'rolling in https://codereview.webrtc.org/2293863002') |
44 print ('Clobber to remove old AppRTCDemo artifacts after renaming to ' | 41 print ('Clobber to remove old AppRTCDemo artifacts after renaming to ' |
45 'AppRTCMobile in https://codereview.webrtc.org/2373443005') | 42 'AppRTCMobile in https://codereview.webrtc.org/2373443005') |
46 print ('Clobber to fix Android x86/x64 builds after ' | 43 print ('Clobber to fix Android x86/x64 builds after ' |
47 'https://codereview.webrtc.org/1414343008/') | 44 'https://codereview.webrtc.org/1414343008/') |
48 if platform() == 'win': | 45 if platform() == 'win': |
49 print 'Clobber to resolve some issues with corrupt .pdb files on bots.' | 46 print 'Clobber to resolve some issues with corrupt .pdb files on bots.' |
50 print 'Clobber due to corrupt .pdb files (after #14623)' | 47 print 'Clobber due to corrupt .pdb files (after #14623)' |
51 print 'Clobber due to Win 64-bit Debug linking error (crbug.com/668961)' | 48 print 'Clobber due to Win 64-bit Debug linking error (crbug.com/668961)' |
52 if platform() == 'mac': | 49 if platform() == 'mac': |
53 # platform == 'ios' doesn't work since it assumes GYP_DEFINES is set, which | 50 # platform == 'ios' doesn't work since it assumes GYP_DEFINES is set, which |
54 # is no longer the case. | 51 # is no longer the case. |
55 print 'Clobber due to iOS compile errors (crbug.com/694721)' | 52 print 'Clobber due to iOS compile errors (crbug.com/694721)' |
56 print 'Clobber to unblock https://codereview.webrtc.org/2709573003' | 53 print 'Clobber to unblock https://codereview.webrtc.org/2709573003' |
57 print 'Clobber to fix https://codereview.webrtc.org/2709573003 after landing
' | 54 print 'Clobber to fix after https://codereview.webrtc.org/2709573003' |
58 | 55 |
59 | 56 |
60 def main(): | 57 def main(): |
61 print_landmines() | 58 print_landmines() |
62 return 0 | 59 return 0 |
63 | 60 |
64 | 61 |
65 if __name__ == '__main__': | 62 if __name__ == '__main__': |
66 sys.exit(main()) | 63 sys.exit(main()) |
OLD | NEW |