forked from mirrors/gecko-dev
		
	MozReview-Commit-ID: JMX7ecYXzHn --HG-- extra : rebase_source : ef283d9875973913cb24fc5f76e27068e293a762
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# This Source Code Form is subject to the terms of the Mozilla Public
 | 
						|
# License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
						|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
 | 
						|
 | 
						|
"""
 | 
						|
Pull a specified revision of chromium from SVN.
 | 
						|
 | 
						|
Usage: python pull-chromium.py <topsrcdir> <chromiumtree> <revision>
 | 
						|
 | 
						|
You will have to set up a Chromium tree before running this step. See
 | 
						|
http://dev.chromium.org/developers/how-tos/get-the-code for details about
 | 
						|
doing this efficiently.
 | 
						|
"""
 | 
						|
 | 
						|
import sys
 | 
						|
import os
 | 
						|
from subprocess import check_call
 | 
						|
from shutil import rmtree
 | 
						|
 | 
						|
topsrcdir, chromiumtree, rev = sys.argv[1:]
 | 
						|
 | 
						|
if not os.path.exists(os.path.join(topsrcdir, 'client.py')):
 | 
						|
    print >>sys.stderr, "Incorrect topsrcdir"
 | 
						|
    sys.exit(1)
 | 
						|
 | 
						|
if not os.path.exists(os.path.join(chromiumtree, 'src/DEPS')):
 | 
						|
    print >>sys.stderr, "Incorrect chromium directory, missing DEPS"
 | 
						|
    sys.exit(1)
 | 
						|
 | 
						|
check_call(['gclient', 'sync', '--force', '--revision=src@%s' % rev], cwd=chromiumtree)
 | 
						|
 | 
						|
chromiumsrc = os.path.join(topsrcdir, 'ipc/chromium/src')
 | 
						|
os.path.exists(chromiumsrc) and rmtree(chromiumsrc)
 | 
						|
 | 
						|
 | 
						|
def doexport(svnpath):
 | 
						|
    localpath = os.path.join(chromiumsrc, svnpath)
 | 
						|
    os.makedirs(os.path.dirname(localpath))
 | 
						|
    check_call(['svn', 'export', '-r', 'BASE', os.path.join(chromiumtree, 'src', svnpath),
 | 
						|
                localpath])
 | 
						|
 | 
						|
 | 
						|
doexport('base')
 | 
						|
doexport('chrome/common')
 | 
						|
doexport('build/build_config.h')
 | 
						|
doexport('testing/gtest/include')
 | 
						|
doexport('third_party/libevent')
 |