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

Unified Diff: utils/pub/command_cache.dart

Issue 12755024: add cache list command to pub (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | utils/pub/git_source.dart » ('j') | utils/pub/git_source.dart » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: utils/pub/command_cache.dart
===================================================================
--- utils/pub/command_cache.dart (revision 0)
+++ utils/pub/command_cache.dart (revision 0)
@@ -0,0 +1,48 @@
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
Bob Nystrom 2013/03/12 22:12:03 2013
keertip 2013/03/13 15:55:00 Done.
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library command_cache;
+
+import 'dart:async';
+import 'dart:io';
+import 'dart:json' as json;
Bob Nystrom 2013/03/12 22:12:03 Can you add a blank line between the "dart:" and o
keertip 2013/03/13 15:55:00 Done.
+import 'exit_codes.dart' as exit_codes;
+import 'log.dart' as log;
+import 'pub.dart';
+
+
+/// Handles the `cache` pub command.
+class CacheCommand extends PubCommand {
+
Bob Nystrom 2013/03/12 22:12:03 Remove this blank line.
keertip 2013/03/13 15:55:00 Done.
+ String get description => "Works on the pub cache.";
Bob Nystrom 2013/03/12 22:12:03 "Inspect the system cache."
keertip 2013/03/13 15:55:00 Done.
+ String get usage => 'pub cache {list}';
Bob Nystrom 2013/03/12 22:12:03 'pub cache list'
keertip 2013/03/13 15:55:00 Done.
+ bool get requiresEntrypoint => false;
+
+ Future onRun() {
+ if (commandOptions.rest.isEmpty) {
Bob Nystrom 2013/03/12 22:12:03 .rest.length != 1
keertip 2013/03/13 15:55:00 Done.
+ log.error('No cache command given.');
Bob Nystrom 2013/03/12 22:12:03 'The cache command expects one argument.'
keertip 2013/03/13 15:55:00 Done.
+ this.printUsage();
+ exit(exit_codes.USAGE);
+ }
+
+ var command = commandOptions.rest.removeAt(0);
+ if (!['list'].contains(command)) {
Bob Nystrom 2013/03/12 22:12:03 if (commandOptions.rest[0] != 'list')
keertip 2013/03/13 15:55:00 Done.
+ log.error('Unknown cache command "$command".');
+ this.printUsage();
+ exit(exit_codes.USAGE);
+ }
+
+ return cache.sources.defaultSource.getCachedPackages().then((packages){
nweiz 2013/03/12 22:58:48 Add a TODO here to add a flag to list packages fro
keertip 2013/03/13 15:55:00 Done.
+ var packagesObj = <String, Map>{};
+ for (var p in packages){
Bob Nystrom 2013/03/12 22:12:03 p -> package
keertip 2013/03/13 15:55:00 Done.
+ packagesObj[p.name] = {
+ 'version': p.version.toString(),
+ 'location': p.dir
+ };
+ }
Bob Nystrom 2013/03/12 22:12:03 Add a TODO to support non-JSON format and check fo
keertip 2013/03/13 15:55:00 Done.
+ log.message(' ${json.stringify({'pubcache': packagesObj})}');
Bob Nystrom 2013/03/12 22:12:03 Instead of 'pubcache', how about 'packages'? Also
keertip 2013/03/13 15:55:00 Done.
+ });
+ }
+}
+
« no previous file with comments | « no previous file | utils/pub/git_source.dart » ('j') | utils/pub/git_source.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698