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

Side by Side Diff: mojo/tools/mopy/paths.py

Issue 878933003: Move the apptest runner and parts of mopy to the public SDK. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 11 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 | « mojo/tools/mopy/mojo_python_tests_runner.py ('k') | mojo/tools/mopy/perf_data_uploader.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 import os
6
7 from .config import Config
8 from .gn import BuildDirectoryForConfig
9
10 class Paths(object):
11 """Provides commonly used paths"""
12
13 def __init__(self, config=None, build_dir=None):
14 """Specify either a config or a build_dir to generate paths to binary
15 artifacts."""
16 self.src_root = os.path.abspath(os.path.join(__file__,
17 os.pardir, os.pardir, os.pardir, os.pardir))
18 self.mojo_dir = os.path.join(self.src_root, "mojo")
19
20 if config:
21 self.build_dir = BuildDirectoryForConfig(config, self.src_root)
22 elif build_dir is not None:
23 self.build_dir = os.path.abspath(build_dir)
24 else:
25 self.build_dir = None
26
27 if self.build_dir is not None:
28 self.mojo_launcher_path = os.path.join(self.build_dir, "mojo_launcher")
29 self.mojo_shell_path = os.path.join(self.build_dir, "mojo_shell")
30 # TODO(vtl): Use the host OS here, since |config| may not be available.
31 # In any case, if the target is Windows, but the host isn't, using
32 # |os.path| isn't correct....
33 if Config.GetHostOS() == Config.OS_WINDOWS:
34 self.mojo_launcher_path += ".exe"
35 self.mojo_shell_path += ".exe"
36 else:
37 self.mojo_launcher_path = None
38 self.mojo_shell_path = None
39
40 def RelPath(self, path):
41 """Returns the given path, relative to the current directory."""
42 return os.path.relpath(path)
43
44 def SrcRelPath(self, path):
45 """Returns the given path, relative to self.src_root."""
46 return os.path.relpath(path, self.src_root)
47
48 def FileFromUrl(self, url):
49 """Given an app URL (<scheme>:<appname>), return 'build_dir/appname.mojo'.
50 If self.build_dir is None, just return appname.mojo
51 """
52 (_, name) = url.split(':')
53 if self.build_dir:
54 return os.path.join(self.build_dir, name + '.mojo')
55 return name + '.mojo'
56
57 @staticmethod
58 def IsValidAppUrl(url):
59 """Returns False if url is malformed, True otherwise."""
60 try:
61 return len(url.split(':')) == 2
62 except ValueError:
63 return False
OLDNEW
« no previous file with comments | « mojo/tools/mopy/mojo_python_tests_runner.py ('k') | mojo/tools/mopy/perf_data_uploader.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698