 0b0ac8236b
			
		
	
	0b0ac8236b
	
	
	
		
			
			Update DEPS to no longer have the root_dir variable. Add a script that detects if the user have a solution named 'trunk' and explains what needs to be done to change it to 'src'. The reason for this change is that bot_update doesn't support custom_vars in solutions and Chrome infra is trying to get rid of them entirely in the future. The bots are already using a solution named 'src' so they won't run into this error during runhooks. BUG=3534 TESTED=Ran the script with a .gclient containing a solution named 'trunk' and one named 'src'. Also tested the presence of the custom_vars dict and not. R=andrew@webrtc.org, hinoka@chromium.org Review URL: https://webrtc-codereview.appspot.com/30619004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7405 4adac7df-926f-26a2-2b94-8c16560cd09d
		
			
				
	
	
		
			58 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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())
 |