1 #!/usr/bin/env python 2 # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 3 # 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 6 # tree. An additional intellectual property rights grant can be found 7 # in the file PATENTS. All contributing project authors may 8 # be found in the AUTHORS file in the root of the source tree. 9 10 """Checks for legacy root directory and instructs the user how to upgrade.""" 11 12 import os 13 import sys 14 15 SOLUTION_ROOT_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 16 os.pardir) 17 MESSAGE = """\ 18 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 19 A C T I O N R E Q I R E D 20 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 21 22 It looks like you have a legacy checkout where the solution's top-level 23 directory is named 'trunk'. From now on, it must be named 'src'. 24 25 What you need to do is to: 26 27 1. Edit your .gclient file and change the solution name from 'trunk' to 'src' 28 2. Rename your 'trunk' directory to 'src' 29 3. Re-run gclient sync (or gclient runhooks)""" 30 31 32 def main(): 33 gclient_filename = os.path.join(SOLUTION_ROOT_DIR, '.gclient') 34 config_dict = {} 35 try: 36 with open(gclient_filename, 'rb') as gclient_file: 37 exec(gclient_file, config_dict) 38 for solution in config_dict.get('solutions', []): 39 if solution['name'] == 'trunk': 40 print MESSAGE 41 if solution.get('custom_vars', {}).get('root_dir'): 42 print ('4. Optional: Remove your "root_dir" entry from the ' 43 'custom_vars dictionary of the solution.') 44 45 # Remove the gclient cache file to avoid an error on the next sync. 46 entries_file = os.path.join(SOLUTION_ROOT_DIR, '.gclient_entries') 47 if os.path.exists(entries_file): 48 os.unlink(entries_file) 49 return 1 50 return 0 51 except Exception as e: 52 print >> sys.stderr, "Error while parsing .gclient: ", e 53 return 1 54 55 56 if __name__ == '__main__': 57 sys.exit(main()) 58