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

Side by Side Diff: pkg/dev_compiler/tool/input_sdk/lib/io/platform.dart

Issue 2698353003: unfork DDC's copy of most SDK libraries (Closed)
Patch Set: revert core_patch Created 3 years, 9 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
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 part of dart.io;
6
7 /**
8 * Information about the environment in which the current program is running.
9 *
10 * Platform provides information such as the operating system,
11 * the hostname of the computer, the value of environment variables,
12 * the path to the running program,
13 * and so on.
14 *
15 * ## Get the URI to the current Dart script
16 *
17 * Use the [script] getter to get the URI to the currently running
18 * Dart script.
19 *
20 * import 'dart:io' show Platform;
21 *
22 * void main() {
23 * // Get the URI of the script being run.
24 * var uri = Platform.script;
25 * // Convert the URI to a path.
26 * var path = uri.toFilePath();
27 * }
28 *
29 * ## Get the value of an environment variable
30 *
31 * The [environment] getter returns a the names and values of environment
32 * variables in a [Map] that contains key-value pairs of strings. The Map is
33 * unmodifiable. This sample shows how to get the value of the `PATH`
34 * environment variable.
35 *
36 * import 'dart:io' show Platform;
37 *
38 * void main() {
39 * Map<String, String> envVars = Platform.environment;
40 * print(envVars['PATH']);
41 * }
42 *
43 * ## Determine the OS
44 *
45 * You can get the name of the operating system as a string with the
46 * [operatingSystem] getter. You can also use one of the static boolean
47 * getters: [isMacOS], [isLinux], and [isWindows].
48 *
49 * import 'dart:io' show Platform, stdout;
50 *
51 * void main() {
52 * // Get the operating system as a string.
53 * String os = Platform.operatingSystem;
54 * // Or, use a predicate getter.
55 * if (Platform.isMacOS) {
56 * print('is a Mac');
57 * } else {
58 * print('is not a Mac');
59 * }
60 * }
61 *
62 * ## Other resources
63 *
64 * [Dart by Example](https://www.dartlang.org/dart-by-example/#dart-io-and-comma nd-line-apps)
65 * provides additional task-oriented code samples that show how to use
66 * various API from the [dart:io] library.
67 */
68 class Platform {
69 static final _numberOfProcessors = _Platform.numberOfProcessors;
70 static final _pathSeparator = _Platform.pathSeparator;
71 static final _operatingSystem = _Platform.operatingSystem;
72 static final _localHostname = _Platform.localHostname;
73 static final _version = _Platform.version;
74
75 /**
76 * Get the number of processors of the machine.
77 */
78 static int get numberOfProcessors => _numberOfProcessors;
79
80 /**
81 * Get the path separator used by the operating system to separate
82 * components in file paths.
83 */
84 static String get pathSeparator => _pathSeparator;
85
86 /**
87 * Get a string (`linux`, `macos`, `windows`, `android`, or `ios`)
88 * representing the operating system.
89 */
90 static String get operatingSystem => _operatingSystem;
91
92 /**
93 * Get the local hostname for the system.
94 */
95 static String get localHostname => _localHostname;
96
97 /**
98 * Returns true if the operating system is Linux.
99 */
100 static final bool isLinux = (_operatingSystem == "linux");
101
102 /**
103 * Returns true if the operating system is OS X.
104 */
105 static final bool isMacOS = (_operatingSystem == "macos");
106
107 /**
108 * Returns true if the operating system is Windows.
109 */
110 static final bool isWindows = (_operatingSystem == "windows");
111
112 /**
113 * Returns true if the operating system is Android.
114 */
115 static final bool isAndroid = (_operatingSystem == "android");
116
117 /**
118 * Returns true if the operating system is iOS.
119 */
120 static final bool isIOS = (_operatingSystem == "ios");
121
122 /**
123 * Get the environment for this process.
124 *
125 * The returned environment is an unmodifiable map which content is
126 * retrieved from the operating system on its first use.
127 *
128 * Environment variables on Windows are case-insensitive. The map
129 * returned on Windows is therefore case-insensitive and will convert
130 * all keys to upper case. On other platforms the returned map is
131 * a standard case-sensitive map.
132 */
133 static Map<String, String> get environment => _Platform.environment;
134
135 /**
136 * Returns the path of the executable used to run the script in this
137 * isolate.
138 *
139 * The path returned is the literal path used to run the script. This
140 * path might be relative or just be a name from which the executable
141 * was found by searching the `PATH`.
142 *
143 * To get the absolute path to the resolved executable use
144 * [resolvedExecutable].
145 */
146 static String get executable => _Platform.executable;
147
148 /**
149 * Returns the path of the executable used to run the script in this
150 * isolate after it has been resolved by the OS.
151 *
152 * This is the absolute path, with all symlinks resolved, to the
153 * executable used to run the script.
154 */
155 static String get resolvedExecutable => _Platform.resolvedExecutable;
156
157 /**
158 * Returns the absolute URI of the script being run in this
159 * isolate.
160 *
161 * If the script argument on the command line is relative,
162 * it is resolved to an absolute URI before fetching the script, and
163 * this absolute URI is returned.
164 *
165 * URI resolution only does string manipulation on the script path, and this
166 * may be different from the file system's path resolution behavior. For
167 * example, a symbolic link immediately followed by '..' will not be
168 * looked up.
169 *
170 * If the executable environment does not support [script] an empty
171 * [Uri] is returned.
172 */
173 static Uri get script => _Platform.script;
174
175 /**
176 * Returns the flags passed to the executable used to run the script in this
177 * isolate. These are the command-line flags between the executable name
178 * and the script name. Each fetch of executableArguments returns a new
179 * List, containing the flags passed to the executable.
180 */
181 static List<String> get executableArguments => _Platform.executableArguments;
182
183 /**
184 * Returns the value of the `--package-root` flag passed to the executable
185 * used to run the script in this isolate. This is the directory in which
186 * Dart packages are looked up.
187 *
188 * If there is no `--package-root` flag, `null` is returned.
189 */
190 static String get packageRoot => _Platform.packageRoot;
191
192 /**
193 * Returns the value of the `--packages` flag passed to the executable
194 * used to run the script in this isolate. This is the configuration which
195 * specifies how Dart packages are looked up.
196 *
197 * If there is no `--packages` flag, `null` is returned.
198 */
199 static String get packageConfig => _Platform.packageConfig;
200
201 /**
202 * Returns the version of the current Dart runtime.
203 *
204 * The returned `String` is formatted as the
205 * [semver](http://semver.org) version string of the current dart
206 * runtime, possibly followed by whitespace and other version and
207 * build details.
208 */
209 static String get version => _version;
210 }
OLDNEW
« no previous file with comments | « pkg/dev_compiler/tool/input_sdk/lib/io/link.dart ('k') | pkg/dev_compiler/tool/input_sdk/lib/io/platform_impl.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698