OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 /// Helper functionality to make working with IO easier. | 5 /// Helper functionality to make working with IO easier. |
6 library io; | 6 library io; |
7 | 7 |
8 import 'dart:async'; | 8 import 'dart:async'; |
9 import 'dart:io'; | 9 import 'dart:io'; |
10 import 'dart:isolate'; | 10 import 'dart:isolate'; |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 /// Creates a temp directory whose name will be based on [dir] with a unique | 118 /// Creates a temp directory whose name will be based on [dir] with a unique |
119 /// suffix appended to it. If [dir] is not provided, a temp directory will be | 119 /// suffix appended to it. If [dir] is not provided, a temp directory will be |
120 /// created in a platform-dependent temporary location. Returns the path of the | 120 /// created in a platform-dependent temporary location. Returns the path of the |
121 /// created directory. | 121 /// created directory. |
122 String createTempDir([dir = '']) { | 122 String createTempDir([dir = '']) { |
123 var tempDir = new Directory(dir).createTempSync(); | 123 var tempDir = new Directory(dir).createTempSync(); |
124 log.io("Created temp directory ${tempDir.path}"); | 124 log.io("Created temp directory ${tempDir.path}"); |
125 return tempDir.path; | 125 return tempDir.path; |
126 } | 126 } |
127 | 127 |
128 // TODO(nweiz): rename includeHiddenFiles to includeHidden. | |
129 /// Lists the contents of [dir]. If [recursive] is `true`, lists subdirectory | 128 /// Lists the contents of [dir]. If [recursive] is `true`, lists subdirectory |
130 /// contents (defaults to `false`). If [includeHiddenFiles] is `true`, includes | 129 /// contents (defaults to `false`). If [includeHidden] is `true`, includes files |
131 /// files and directories beginning with `.` (defaults to `false`). | 130 /// and directories beginning with `.` (defaults to `false`). |
132 /// | 131 /// |
133 /// The returned paths are guaranteed to begin with [dir]. | 132 /// The returned paths are guaranteed to begin with [dir]. |
134 List<String> listDir(String dir, {bool recursive: false, | 133 List<String> listDir(String dir, {bool recursive: false, |
135 bool includeHidden: false}) { | 134 bool includeHidden: false}) { |
136 List<String> doList(String dir, Set<String> listedDirectories) { | 135 List<String> doList(String dir, Set<String> listedDirectories) { |
137 var contents = <String>[]; | 136 var contents = <String>[]; |
138 | 137 |
139 // Avoid recursive symlinks. | 138 // Avoid recursive symlinks. |
140 var resolvedPath = new File(dir).fullPathSync(); | 139 var resolvedPath = new File(dir).fullPathSync(); |
141 if (listedDirectories.contains(resolvedPath)) return []; | 140 if (listedDirectories.contains(resolvedPath)) return []; |
(...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
735 const PubProcessResult(this.stdout, this.stderr, this.exitCode); | 734 const PubProcessResult(this.stdout, this.stderr, this.exitCode); |
736 | 735 |
737 bool get success => exitCode == 0; | 736 bool get success => exitCode == 0; |
738 } | 737 } |
739 | 738 |
740 /// Gets a [Uri] for [uri], which can either already be one, or be a [String]. | 739 /// Gets a [Uri] for [uri], which can either already be one, or be a [String]. |
741 Uri _getUri(uri) { | 740 Uri _getUri(uri) { |
742 if (uri is Uri) return uri; | 741 if (uri is Uri) return uri; |
743 return Uri.parse(uri); | 742 return Uri.parse(uri); |
744 } | 743 } |
OLD | NEW |