summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/tools_webrtc/get_landmines.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xthird_party/libwebrtc/tools_webrtc/get_landmines.py74
1 files changed, 74 insertions, 0 deletions
diff --git a/third_party/libwebrtc/tools_webrtc/get_landmines.py b/third_party/libwebrtc/tools_webrtc/get_landmines.py
new file mode 100755
index 0000000000..18bc413e25
--- /dev/null
+++ b/third_party/libwebrtc/tools_webrtc/get_landmines.py
@@ -0,0 +1,74 @@
+#!/usr/bin/env vpython3
+
+# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
+#
+# Use of this source code is governed by a BSD-style license
+# that can be found in the LICENSE file in the root of the source
+# tree. An additional intellectual property rights grant can be found
+# in the file PATENTS. All contributing project authors may
+# be found in the AUTHORS file in the root of the source tree.
+"""
+This file emits the list of reasons why a particular build needs to be clobbered
+(or a list of 'landmines').
+"""
+
+import os
+import sys
+
+SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__))
+CHECKOUT_ROOT = os.path.abspath(os.path.join(SCRIPT_DIR, os.pardir))
+sys.path.insert(0, os.path.join(CHECKOUT_ROOT, 'build'))
+import landmine_utils
+
+host_os = landmine_utils.host_os # pylint: disable=invalid-name
+
+
+def print_landmines(): # pylint: disable=invalid-name
+ """
+ ALL LANDMINES ARE EMITTED FROM HERE.
+ """
+ # DO NOT add landmines as part of a regular CL. Landmines are a last-effort
+ # bandaid fix if a CL that got landed has a build dependency bug and all
+ # bots need to be cleaned up. If you're writing a new CL that causes build
+ # dependency problems, fix the dependency problems instead of adding a
+ # landmine.
+ # See the Chromium version in src/build/get_landmines.py for usage examples.
+ print('Clobber to remove out/{Debug,Release}/args.gn (webrtc:5070)')
+ if host_os() == 'win':
+ print('Clobber to resolve some issues with corrupt .pdb files on bots.')
+ print('Clobber due to corrupt .pdb files (after #14623)')
+ print('Clobber due to Win 64-bit Debug linking error (crbug.com/668961)')
+ print('Clobber due to Win Clang Debug linking errors in '
+ 'https://codereview.webrtc.org/2786603002')
+ print('Clobber due to Win Debug linking errors in '
+ 'https://codereview.webrtc.org/2832063003/')
+ print('Clobber win x86 bots (issues with isolated files).')
+ print('Clobber because of libc++ issue')
+ print('Clobber because of libc++ issue - take 2')
+ print('Clobber because of libc++ issue - take 3')
+ print('Clobber because of libc++ issue - take 4 (crbug.com/1337238)')
+ print('Clobber because of libc++ issue - take 5 (crbug.com/1337238)')
+ print('Clobber because of libc++ issue - take 6 (crbug.com/1337238)')
+ if host_os() == 'mac':
+ print('Clobber due to iOS compile errors (crbug.com/694721)')
+ print('Clobber to unblock https://codereview.webrtc.org/2709573003')
+ print('Clobber to fix https://codereview.webrtc.org/2709573003 after '
+ 'landing')
+ print('Clobber to fix https://codereview.webrtc.org/2767383005 before'
+ 'landing (changing rtc_executable -> rtc_test on iOS)')
+ print('Clobber to fix https://codereview.webrtc.org/2767383005 before'
+ 'landing (changing rtc_executable -> rtc_test on iOS)')
+ print('Another landmine for low_bandwidth_audio_test (webrtc:7430)')
+ print('Clobber to change neteq_rtpplay type to executable')
+ print('Clobber to remove .xctest files.')
+ print('Clobber to remove .xctest files (take 2).')
+ print('Switching rtc_executable to rtc_test')
+
+
+def main():
+ print_landmines()
+ return 0
+
+
+if __name__ == '__main__':
+ sys.exit(main())