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 platform = landmine_utils.platform # pylint: disable=invalid-name | 24 distributor = landmine_utils.distributor |
| 25 gyp_defines = landmine_utils.gyp_defines |
| 26 gyp_msvs_version = landmine_utils.gyp_msvs_version |
| 27 platform = landmine_utils.platform |
25 | 28 |
26 | 29 |
27 def print_landmines(): # pylint: disable=invalid-name | 30 def print_landmines(): |
28 """ | 31 """ |
29 ALL LANDMINES ARE EMITTED FROM HERE. | 32 ALL LANDMINES ARE EMITTED FROM HERE. |
30 """ | 33 """ |
31 # DO NOT add landmines as part of a regular CL. Landmines are a last-effort | 34 # DO NOT add landmines as part of a regular CL. Landmines are a last-effort |
32 # bandaid fix if a CL that got landed has a build dependency bug and all bots | 35 # bandaid fix if a CL that got landed has a build dependency bug and all bots |
33 # need to be cleaned up. If you're writing a new CL that causes build | 36 # need to be cleaned up. If you're writing a new CL that causes build |
34 # dependency problems, fix the dependency problems instead of adding a | 37 # dependency problems, fix the dependency problems instead of adding a |
35 # landmine. | 38 # landmine. |
36 # See the Chromium version in src/build/get_landmines.py for usage examples. | 39 # See the Chromium version in src/build/get_landmines.py for usage examples. |
37 print 'Clobber to remove out/{Debug,Release}/args.gn (webrtc:5070)' | 40 print 'Clobber to remove out/{Debug,Release}/args.gn (webrtc:5070)' |
38 if platform() == 'android': | 41 if platform() == 'android': |
39 print ('Clobber to remove artifacts on Android causing lint errors after ' | 42 print ('Clobber to remove artifacts on Android causing lint errors after ' |
40 'rolling in https://codereview.webrtc.org/2293863002') | 43 'rolling in https://codereview.webrtc.org/2293863002') |
41 print ('Clobber to remove old AppRTCDemo artifacts after renaming to ' | 44 print ('Clobber to remove old AppRTCDemo artifacts after renaming to ' |
42 'AppRTCMobile in https://codereview.webrtc.org/2373443005') | 45 'AppRTCMobile in https://codereview.webrtc.org/2373443005') |
43 print ('Clobber to fix Android x86/x64 builds after ' | 46 print ('Clobber to fix Android x86/x64 builds after ' |
44 'https://codereview.webrtc.org/1414343008/') | 47 'https://codereview.webrtc.org/1414343008/') |
45 if platform() == 'win': | 48 if platform() == 'win': |
46 print 'Clobber to resolve some issues with corrupt .pdb files on bots.' | 49 print 'Clobber to resolve some issues with corrupt .pdb files on bots.' |
47 print 'Clobber due to corrupt .pdb files (after #14623)' | 50 print 'Clobber due to corrupt .pdb files (after #14623)' |
48 print 'Clobber due to Win 64-bit Debug linking error (crbug.com/668961)' | 51 print 'Clobber due to Win 64-bit Debug linking error (crbug.com/668961)' |
49 if platform() == 'mac': | 52 if platform() == 'mac': |
50 # platform == 'ios' doesn't work since it assumes GYP_DEFINES is set, which | 53 # platform == 'ios' doesn't work since it assumes GYP_DEFINES is set, which |
51 # is no longer the case. | 54 # is no longer the case. |
52 print 'Clobber due to iOS compile errors (crbug.com/694721)' | 55 print 'Clobber due to iOS compile errors (crbug.com/694721)' |
53 print 'Clobber to unblock https://codereview.webrtc.org/2709573003' | 56 print 'Clobber to unblock https://codereview.webrtc.org/2709573003' |
54 print 'Clobber to fix after https://codereview.webrtc.org/2709573003' | 57 print 'Clobber to fix https://codereview.webrtc.org/2709573003 after landing
' |
55 | 58 |
56 | 59 |
57 def main(): | 60 def main(): |
58 print_landmines() | 61 print_landmines() |
59 return 0 | 62 return 0 |
60 | 63 |
61 | 64 |
62 if __name__ == '__main__': | 65 if __name__ == '__main__': |
63 sys.exit(main()) | 66 sys.exit(main()) |
OLD | NEW |