| #!/usr/bin/env python | 
 | # Copyright (c) 2014 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. | 
 |  | 
 | """Checks for legacy root directory and instructs the user how to upgrade.""" | 
 |  | 
 | import os | 
 | import sys | 
 |  | 
 | SOLUTION_ROOT_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), | 
 |                                  os.pardir) | 
 | MESSAGE = """\ | 
 | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | 
 |                       A C T I O N     R E Q I R E D | 
 | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | 
 |  | 
 | It looks like you have a legacy checkout where the solution's top-level | 
 | directory is named 'trunk'. From now on, it must be named 'src'. | 
 |  | 
 | What you need to do is to: | 
 |  | 
 | 1. Edit your .gclient file and change the solution name from 'trunk' to 'src' | 
 | 2. Rename your 'trunk' directory to 'src' | 
 | 3. Re-run gclient sync (or gclient runhooks)""" | 
 |  | 
 |  | 
 | def main(): | 
 |   gclient_filename = os.path.join(SOLUTION_ROOT_DIR, '.gclient') | 
 |   config_dict = {} | 
 |   try: | 
 |     with open(gclient_filename, 'rb') as gclient_file: | 
 |       exec(gclient_file, config_dict) | 
 |     for solution in config_dict.get('solutions', []): | 
 |       if solution['name'] == 'trunk': | 
 |         print MESSAGE | 
 |         if solution.get('custom_vars', {}).get('root_dir'): | 
 |           print ('4. Optional: Remove your "root_dir" entry from the ' | 
 |                  'custom_vars dictionary of the solution.') | 
 |  | 
 |         # Remove the gclient cache file to avoid an error on the next sync. | 
 |         entries_file = os.path.join(SOLUTION_ROOT_DIR, '.gclient_entries') | 
 |         if os.path.exists(entries_file): | 
 |           os.unlink(entries_file) | 
 |         return 1 | 
 |     return 0 | 
 |   except Exception as e: | 
 |     print >> sys.stderr, "Error while parsing .gclient: ", e | 
 |     return 1 | 
 |  | 
 |  | 
 | if __name__ == '__main__': | 
 |   sys.exit(main()) |