1#!/usr/bin/env python
2# Copyright 2014 the V8 project 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
11# for py2/py3 compatibility
12from __future__ import print_function
13
14import os
15import sys
16
17sys.path.insert(0, os.path.abspath(
18  os.path.join(os.path.dirname(__file__), '..', 'build')))
19
20import get_landmines as build_get_landmines
21
22
23def print_landmines():  # pylint: disable=invalid-name
24  """
25  ALL LANDMINES ARE EMITTED FROM HERE.
26  """
27  # 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
29  # 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
31  # landmine.
32  # See the Chromium version in src/build/get_landmines.py for usage examples.
33  print('Need to clobber after ICU52 roll.')
34  print('Landmines test.')
35  print('Activating MSVS 2013.')
36  print('Revert activation of MSVS 2013.')
37  print('Activating MSVS 2013 again.')
38  print('Clobber after ICU roll.')
39  print('Moar clobbering...')
40  print('Remove build/android.gypi')
41  print('Cleanup after windows ninja switch attempt.')
42  print('Switching to pinned msvs toolchain.')
43  print('Clobbering to hopefully resolve problem with mksnapshot')
44  print('Clobber after ICU roll.')
45  print('Clobber after Android NDK update.')
46  print('Clober to fix windows build problems.')
47  print('Clober again to fix windows build problems.')
48  print('Clobber to possibly resolve failure on win-32 bot.')
49  print('Clobber for http://crbug.com/668958.')
50  print('Clobber to possibly resolve build failure on Misc V8 Linux gcc.')
51  build_get_landmines.print_landmines()
52  return 0
53
54
55def main():
56  print_landmines()
57  return 0
58
59
60if __name__ == '__main__':
61  sys.exit(main())
62