Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: tools/utils.py

Issue 1342493003: Move CheckedInSdkPath helpers to utils (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/observatory_tool.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 # for details. All rights reserved. Use of this source code is governed by a 2 # for details. All rights reserved. Use of this source code is governed by a
3 # BSD-style license that can be found in the LICENSE file. 3 # BSD-style license that can be found in the LICENSE file.
4 4
5 # This file contains a set of utilities functions used by other Python-based 5 # This file contains a set of utilities functions used by other Python-based
6 # scripts. 6 # scripts.
7 7
8 import commands 8 import commands
9 import datetime 9 import datetime
10 import json 10 import json
11 import os 11 import os
12 import platform 12 import platform
13 import re 13 import re
14 import shutil 14 import shutil
15 import subprocess 15 import subprocess
16 import tempfile 16 import tempfile
17 import sys 17 import sys
18 18
19 SCRIPT_DIR = os.path.dirname(sys.argv[0])
ricow1 2015/09/14 05:46:41 we don't normally do this, see comment in function
Cutch 2015/09/14 14:05:43 Done.
20 DART_ROOT = os.path.realpath(os.path.join(SCRIPT_DIR, '..'))
21
19 class Version(object): 22 class Version(object):
20 def __init__(self, channel, major, minor, patch, prerelease, 23 def __init__(self, channel, major, minor, patch, prerelease,
21 prerelease_patch): 24 prerelease_patch):
22 self.channel = channel 25 self.channel = channel
23 self.major = major 26 self.major = major
24 self.minor = minor 27 self.minor = minor
25 self.patch = patch 28 self.patch = patch
26 self.prerelease = prerelease 29 self.prerelease = prerelease
27 self.prerelease_patch = prerelease_patch 30 self.prerelease_patch = prerelease_patch
28 31
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 return os.path.join(dart_binary_prefix, system, 'dart-mips') 587 return os.path.join(dart_binary_prefix, system, 'dart-mips')
585 else: 588 else:
586 return os.path.join(dart_binary_prefix, system, 'dart') 589 return os.path.join(dart_binary_prefix, system, 'dart')
587 590
588 591
589 def DartSdkBinary(): 592 def DartSdkBinary():
590 tools_dir = os.path.dirname(os.path.realpath(__file__)) 593 tools_dir = os.path.dirname(os.path.realpath(__file__))
591 dart_binary_prefix = os.path.join(tools_dir, '..', 'sdk' , 'bin') 594 dart_binary_prefix = os.path.join(tools_dir, '..', 'sdk' , 'bin')
592 return os.path.join(dart_binary_prefix, 'dart') 595 return os.path.join(dart_binary_prefix, 'dart')
593 596
597
598 def CheckedInSdkPath():
599 osdict = {'Darwin':'mac', 'Linux':'linux', 'Windows':'win'}
ricow1 2015/09/14 05:46:41 please add a comment here: # We don't use the norm
Cutch 2015/09/14 14:05:43 Done.
600 system = platform.system()
601 try:
602 osname = osdict[system]
603 except KeyError:
604 print >>sys.stderr, ('WARNING: platform "%s" not supported') % (system)
605 return None;
606 return os.path.join(DART_ROOT,
ricow1 2015/09/14 05:46:41 This seems to work better in general tools_dir = o
Cutch 2015/09/14 14:05:43 Done.
607 'tools',
608 'sdks',
609 osname,
610 'dart-sdk')
611
612
613 def CheckedInPubPath():
614 executable_name = 'pub'
615 if platform.system() == 'Windows':
616 executable_name = 'pub.bat'
617 return os.path.join(CheckedInSdkPath(), 'bin', executable_name)
618
619
594 class TempDir(object): 620 class TempDir(object):
595 def __init__(self, prefix=''): 621 def __init__(self, prefix=''):
596 self._temp_dir = None 622 self._temp_dir = None
597 self._prefix = prefix 623 self._prefix = prefix
598 624
599 def __enter__(self): 625 def __enter__(self):
600 self._temp_dir = tempfile.mkdtemp(self._prefix) 626 self._temp_dir = tempfile.mkdtemp(self._prefix)
601 return self._temp_dir 627 return self._temp_dir
602 628
603 def __exit__(self, *_): 629 def __exit__(self, *_):
604 shutil.rmtree(self._temp_dir, ignore_errors=True) 630 shutil.rmtree(self._temp_dir, ignore_errors=True)
605 631
606 class ChangedWorkingDirectory(object): 632 class ChangedWorkingDirectory(object):
607 def __init__(self, working_directory): 633 def __init__(self, working_directory):
608 self._working_directory = working_directory 634 self._working_directory = working_directory
609 635
610 def __enter__(self): 636 def __enter__(self):
611 self._old_cwd = os.getcwd() 637 self._old_cwd = os.getcwd()
612 print "Enter directory = ", self._working_directory 638 print "Enter directory = ", self._working_directory
613 os.chdir(self._working_directory) 639 os.chdir(self._working_directory)
614 640
615 def __exit__(self, *_): 641 def __exit__(self, *_):
616 print "Enter directory = ", self._old_cwd 642 print "Enter directory = ", self._old_cwd
617 os.chdir(self._old_cwd) 643 os.chdir(self._old_cwd)
618 644
619 645
620 if __name__ == "__main__": 646 if __name__ == "__main__":
621 import sys 647 import sys
622 Main() 648 Main()
OLDNEW
« no previous file with comments | « tools/observatory_tool.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698