mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 18:51:29 +00:00
Add recipe for v8
BUG=none R=dpranke@chromium.org,machenbach@chromium.org Review URL: https://codereview.chromium.org/225743005 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@268466 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
13
fetch.py
13
fetch.py
@@ -111,10 +111,12 @@ class GclientGitCheckout(GclientCheckout, GitCheckout):
|
||||
def init(self):
|
||||
# Configure and do the gclient checkout.
|
||||
self.run_gclient('config', '--spec', self.spec['gclient_spec'])
|
||||
sync_cmd = ['sync']
|
||||
if self.options.nohooks:
|
||||
self.run_gclient('sync', '--nohooks')
|
||||
else:
|
||||
self.run_gclient('sync')
|
||||
sync_cmd.append('--nohooks')
|
||||
if self.spec.get('with_branch_heads', False):
|
||||
sync_cmd.append('--with_branch_heads')
|
||||
self.run_gclient(*sync_cmd)
|
||||
|
||||
# Configure git.
|
||||
wd = os.path.join(self.base, self.root)
|
||||
@@ -159,10 +161,11 @@ class GclientGitSvnCheckout(GclientGitCheckout, SvnCheckout):
|
||||
wd = os.path.join(self.base, real_path)
|
||||
if self.options.dry_run:
|
||||
print 'cd %s' % wd
|
||||
self.run_git('svn', 'init', '--prefix=origin/', '-T',
|
||||
prefix = svn_spec.get('svn_prefix', 'origin/')
|
||||
self.run_git('svn', 'init', '--prefix=' + prefix, '-T',
|
||||
svn_spec['svn_branch'], svn_spec['svn_url'], cwd=wd)
|
||||
self.run_git('config', '--replace', 'svn-remote.svn.fetch',
|
||||
svn_spec['svn_branch'] + ':refs/remotes/origin/' +
|
||||
svn_spec['svn_branch'] + ':refs/remotes/' + prefix +
|
||||
svn_spec['svn_ref'], cwd=wd)
|
||||
self.run_git('svn', 'fetch', cwd=wd)
|
||||
|
||||
|
||||
@@ -358,6 +358,10 @@ class GitWrapper(SCMWrapper):
|
||||
self._DeleteOrMove(options.force)
|
||||
self._Clone(revision, url, options)
|
||||
self._UpdateBranchHeads(options, fetch=True)
|
||||
if deps_revision and deps_revision.startswith('branch-heads/'):
|
||||
deps_branch = deps_revision.replace('branch-heads/', '')
|
||||
self._Capture(['branch', deps_branch, deps_revision])
|
||||
self._Capture(['checkout', '--quiet', deps_branch])
|
||||
if file_list is not None:
|
||||
files = self._Capture(['ls-files']).splitlines()
|
||||
file_list.extend([os.path.join(self.checkout_path, f) for f in files])
|
||||
|
||||
53
recipes/v8.py
Normal file
53
recipes/v8.py
Normal file
@@ -0,0 +1,53 @@
|
||||
# Copyright 2014 The Chromium Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
import sys
|
||||
|
||||
import recipe_util # pylint: disable=F0401
|
||||
|
||||
|
||||
# This class doesn't need an __init__ method, so we disable the warning
|
||||
# pylint: disable=W0232
|
||||
class V8(recipe_util.Recipe):
|
||||
"""Basic Recipe class for V8."""
|
||||
|
||||
@staticmethod
|
||||
def fetch_spec(props):
|
||||
ref = 'branch-heads/bleeding_edge'
|
||||
url = 'https://chromium.googlesource.com/external/v8.git@%s' % ref
|
||||
solution = { 'name' :'v8',
|
||||
'url' : url,
|
||||
'deps_file': '.DEPS.git',
|
||||
'managed' : False,
|
||||
'custom_deps': {},
|
||||
'safesync_url': '',
|
||||
}
|
||||
spec = {
|
||||
'solutions': [solution],
|
||||
'svn_url': 'https://v8.googlecode.com/svn',
|
||||
'svn_branch': 'branches/bleeding_edge',
|
||||
'svn_ref': 'bleeding_edge',
|
||||
'svn_prefix': 'branch-heads/',
|
||||
'with_branch_heads': True,
|
||||
}
|
||||
checkout_type = 'gclient_git_svn'
|
||||
if props.get('nosvn'):
|
||||
checkout_type = 'gclient_git'
|
||||
spec_type = '%s_spec' % checkout_type
|
||||
return {
|
||||
'type': checkout_type,
|
||||
spec_type: spec,
|
||||
}
|
||||
|
||||
@staticmethod
|
||||
def expected_root(_props):
|
||||
return 'v8'
|
||||
|
||||
|
||||
def main(argv=None):
|
||||
return V8().handle_args(argv)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main(sys.argv))
|
||||
Reference in New Issue
Block a user