OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import os | 5 import os |
6 | 6 |
7 from .config import Config | 7 from .config import Config |
8 from .gn import BuildDirectoryForConfig | 8 from .gn import BuildDirectoryForConfig |
9 | 9 |
10 class Paths(object): | 10 class Paths(object): |
(...skipping 10 matching lines...) Expand all Loading... |
21 | 21 |
22 if config: | 22 if config: |
23 self.build_dir = BuildDirectoryForConfig(config, self.src_root) | 23 self.build_dir = BuildDirectoryForConfig(config, self.src_root) |
24 elif build_dir is not None: | 24 elif build_dir is not None: |
25 self.build_dir = os.path.abspath(build_dir) | 25 self.build_dir = os.path.abspath(build_dir) |
26 else: | 26 else: |
27 self.build_dir = None | 27 self.build_dir = None |
28 | 28 |
29 if self.build_dir is not None: | 29 if self.build_dir is not None: |
30 self.mojo_shell_path = os.path.join(self.build_dir, "mojo_shell") | 30 self.mojo_shell_path = os.path.join(self.build_dir, "mojo_shell") |
| 31 self.dart_snapshotter_path = os.path.join( |
| 32 self.build_dir, "dart_snapshotter") |
31 self.sky_shell_path = os.path.join(self.build_dir, "sky_shell") | 33 self.sky_shell_path = os.path.join(self.build_dir, "sky_shell") |
32 # TODO(vtl): Use the host OS here, since |config| may not be available. | 34 # TODO(vtl): Use the host OS here, since |config| may not be available. |
33 # In any case, if the target is Windows, but the host isn't, using | 35 # In any case, if the target is Windows, but the host isn't, using |
34 # |os.path| isn't correct.... | 36 # |os.path| isn't correct.... |
35 if Config.GetHostOS() == Config.OS_WINDOWS: | 37 if Config.GetHostOS() == Config.OS_WINDOWS: |
36 self.mojo_shell_path += ".exe" | 38 self.mojo_shell_path += ".exe" |
37 self.sky_shell_path += ".exe" | 39 self.sky_shell_path += ".exe" |
| 40 self.dart_snapshotter_path += ".exe" |
38 if config and config.target_os == Config.OS_ANDROID: | 41 if config and config.target_os == Config.OS_ANDROID: |
39 self.target_mojo_shell_path = os.path.join(self.build_dir, | 42 self.target_mojo_shell_path = os.path.join(self.build_dir, |
40 "apks", | 43 "apks", |
41 "MojoShell.apk") | 44 "MojoShell.apk") |
| 45 # dart_snapshotter only runs on the host platform. There is no build to |
| 46 # run on Android. |
| 47 self.target_dart_snapshotter_path = None |
42 self.target_sky_shell_path = os.path.join(self.build_dir, | 48 self.target_sky_shell_path = os.path.join(self.build_dir, |
43 "apks", | 49 "apks", |
44 "SkyDemo.apk") | 50 "SkyDemo.apk") |
45 else: | 51 else: |
46 self.target_mojo_shell_path = self.mojo_shell_path | 52 self.target_mojo_shell_path = self.mojo_shell_path |
| 53 self.target_dart_snapshotter_path = self.dart_snapshotter_path |
47 self.target_sky_shell_path = self.sky_shell_path | 54 self.target_sky_shell_path = self.sky_shell_path |
48 else: | 55 else: |
49 self.mojo_shell_path = None | 56 self.mojo_shell_path = None |
| 57 self.dart_snapshotter_path = None |
50 self.sky_shell_path = None | 58 self.sky_shell_path = None |
51 self.target_mojo_shell_path = None | 59 self.target_mojo_shell_path = None |
| 60 self.target_dart_snapshotter_path = None |
52 self.target_sky_shell_path = None | 61 self.target_sky_shell_path = None |
53 | 62 |
54 def RelPath(self, path): | 63 def RelPath(self, path): |
55 """Returns the given path, relative to the current directory.""" | 64 """Returns the given path, relative to the current directory.""" |
56 return os.path.relpath(path) | 65 return os.path.relpath(path) |
57 | 66 |
58 def SrcRelPath(self, path): | 67 def SrcRelPath(self, path): |
59 """Returns the given path, relative to self.src_root.""" | 68 """Returns the given path, relative to self.src_root.""" |
60 return os.path.relpath(path, self.src_root) | 69 return os.path.relpath(path, self.src_root) |
61 | 70 |
62 def FileFromUrl(self, url): | 71 def FileFromUrl(self, url): |
63 """Given an app URL (<scheme>:<appname>), return 'build_dir/appname.mojo'. | 72 """Given an app URL (<scheme>:<appname>), return 'build_dir/appname.mojo'. |
64 If self.build_dir is None, just return appname.mojo | 73 If self.build_dir is None, just return appname.mojo |
65 """ | 74 """ |
66 (_, name) = url.split(':') | 75 (_, name) = url.split(':') |
67 if self.build_dir: | 76 if self.build_dir: |
68 return os.path.join(self.build_dir, name + '.mojo') | 77 return os.path.join(self.build_dir, name + '.mojo') |
69 return name + '.mojo' | 78 return name + '.mojo' |
70 | 79 |
71 @staticmethod | 80 @staticmethod |
72 def IsValidAppUrl(url): | 81 def IsValidAppUrl(url): |
73 """Returns False if url is malformed, True otherwise.""" | 82 """Returns False if url is malformed, True otherwise.""" |
74 try: | 83 try: |
75 return len(url.split(':')) == 2 | 84 return len(url.split(':')) == 2 |
76 except ValueError: | 85 except ValueError: |
77 return False | 86 return False |
OLD | NEW |