mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 18:51:29 +00:00
Make gn wrapper use the one in buildtools rather than tools/gn/bin.
This updates some infrastructure to make it easy to get at the platform-specific build tools directories. Review URL: https://codereview.chromium.org/341533006 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@279132 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
31
gn.py
31
gn.py
@@ -18,32 +18,15 @@ import subprocess
|
||||
import sys
|
||||
|
||||
|
||||
def RunGN(sourceroot):
|
||||
# The binaries in platform-specific subdirectories in src/tools/gn/bin.
|
||||
gnpath = os.path.join(sourceroot,
|
||||
'tools', 'gn', 'bin', gclient_utils.GetMacWinOrLinux(),
|
||||
'gn' + gclient_utils.GetExeSuffix())
|
||||
return subprocess.call([gnpath] + sys.argv[1:])
|
||||
|
||||
|
||||
def main(args):
|
||||
for arg in sys.argv:
|
||||
if arg.startswith('--root='):
|
||||
sourceroot = arg.replace('--root=', '')
|
||||
dotfile_path = os.path.join(sourceroot, '.gn')
|
||||
if not os.path.exists(dotfile_path):
|
||||
print >> sys.stderr, 'gn.py: "%s" not found, exiting.' % dotfile_path
|
||||
sys.exit(1)
|
||||
return RunGN(sourceroot)
|
||||
|
||||
sourceroot = gclient_utils.FindFileUpwards('.gn')
|
||||
if not sourceroot:
|
||||
print >> sys.stderr, ('gn.py: No .gn file found in any parent of '
|
||||
'the current path.')
|
||||
print >> sys.stderr, ('\nYou need to either be inside a checkout, '
|
||||
'or use --root to specify the checkout root.')
|
||||
bin_path = gclient_utils.GetBuildtoolsPlatformBinaryPath()
|
||||
if not bin_path:
|
||||
print >> sys.stderr, ('gn.py: Could not find checkout in any parent of '
|
||||
'the current path.\nThis must be run inside a '
|
||||
'checkout.')
|
||||
sys.exit(1)
|
||||
return RunGN(sourceroot)
|
||||
gn_path = os.path.join(bin_path, 'gn' + gclient_utils.GetExeSuffix())
|
||||
return subprocess.call([gn_path] + sys.argv[1:])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user