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

Side by Side Diff: utils/pub/command_lish.dart

Issue 13332009: Make listDir and createSymlink synchronous in pub. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Code review changes Created 7 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « utils/pub/command_cache.dart ('k') | utils/pub/entrypoint.dart » ('j') | 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 library command_lish; 5 library command_lish;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:io'; 8 import 'dart:io';
9 import 'dart:json'; 9 import 'dart:json';
10 import 'dart:uri'; 10 import 'dart:uri';
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 var rootDir = entrypoint.root.dir; 139 var rootDir = entrypoint.root.dir;
140 140
141 return git.isInstalled.then((gitInstalled) { 141 return git.isInstalled.then((gitInstalled) {
142 if (dirExists(path.join(rootDir, '.git')) && gitInstalled) { 142 if (dirExists(path.join(rootDir, '.git')) && gitInstalled) {
143 // List all files that aren't gitignored, including those not checked 143 // List all files that aren't gitignored, including those not checked
144 // in to Git. 144 // in to Git.
145 return git.run(["ls-files", "--cached", "--others", 145 return git.run(["ls-files", "--cached", "--others",
146 "--exclude-standard"]); 146 "--exclude-standard"]);
147 } 147 }
148 148
149 return listDir(rootDir, recursive: true).then((entries) { 149 return listDir(rootDir, recursive: true)
150 return entries 150 .where(fileExists) // Skip directories and broken symlinks.
151 .where(fileExists) // Skip directories and broken symlinks. 151 .map((entry) => path.relative(entry, from: rootDir));
152 .map((entry) => path.relative(entry, from: rootDir));
153 });
154 }).then((files) => files.where(_shouldPublish).toList()); 152 }).then((files) => files.where(_shouldPublish).toList());
155 } 153 }
156 154
157 /// Returns `true` if [file] should be published. 155 /// Returns `true` if [file] should be published.
158 bool _shouldPublish(String file) { 156 bool _shouldPublish(String file) {
159 if (_BLACKLISTED_FILES.contains(path.basename(file))) return false; 157 if (_BLACKLISTED_FILES.contains(path.basename(file))) return false;
160 return !path.split(file).any(_BLACKLISTED_DIRS.contains); 158 return !path.split(file).any(_BLACKLISTED_DIRS.contains);
161 } 159 }
162 160
163 /// Returns the value associated with [key] in [map]. Throws a user-friendly 161 /// Returns the value associated with [key] in [map]. Throws a user-friendly
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 return confirm(message).then((confirmed) { 198 return confirm(message).then((confirmed) {
201 if (!confirmed) { 199 if (!confirmed) {
202 log.error("Package upload canceled."); 200 log.error("Package upload canceled.");
203 return false; 201 return false;
204 } 202 }
205 return true; 203 return true;
206 }); 204 });
207 }); 205 });
208 } 206 }
209 } 207 }
OLDNEW
« no previous file with comments | « utils/pub/command_cache.dart ('k') | utils/pub/entrypoint.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698