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

Unified Diff: sdk/lib/_internal/pub_generated/lib/src/command/cache_add.dart

Issue 557563002: Store the async-await compiled pub code directly in the repo. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 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
Index: sdk/lib/_internal/pub_generated/lib/src/command/cache_add.dart
diff --git a/sdk/lib/_internal/pub/lib/src/command/cache_add.dart b/sdk/lib/_internal/pub_generated/lib/src/command/cache_add.dart
similarity index 69%
copy from sdk/lib/_internal/pub/lib/src/command/cache_add.dart
copy to sdk/lib/_internal/pub_generated/lib/src/command/cache_add.dart
index 8c8b4d8aaadcf78b4b00c8bd310ca799397a9009..8e9d45bd1c19055cc62215da452f91398c0997dd 100644
--- a/sdk/lib/_internal/pub/lib/src/command/cache_add.dart
+++ b/sdk/lib/_internal/pub_generated/lib/src/command/cache_add.dart
@@ -1,50 +1,33 @@
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
-// 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 pub.command.cache_add;
-
import 'dart:async';
-
import '../command.dart';
import '../log.dart' as log;
import '../package.dart';
import '../utils.dart';
import '../version.dart';
-
-/// Handles the `cache add` pub command.
class CacheAddCommand extends PubCommand {
String get description => "Install a package.";
String get usage =>
"pub cache add <package> [--version <constraint>] [--all]";
String get docUrl => "http://dartlang.org/tools/pub/cmd/pub-cache.html";
bool get takesArguments => true;
-
CacheAddCommand() {
- commandParser.addFlag("all",
+ commandParser.addFlag(
+ "all",
help: "Install all matching versions.",
negatable: false);
-
- commandParser.addOption("version", abbr: "v",
- help: "Version constraint.");
+ commandParser.addOption("version", abbr: "v", help: "Version constraint.");
}
-
Future onRun() {
- // Make sure there is a package.
if (commandOptions.rest.isEmpty) {
usageError("No package to add given.");
}
-
- // Don't allow extra arguments.
if (commandOptions.rest.length > 1) {
var unexpected = commandOptions.rest.skip(1).map((arg) => '"$arg"');
var arguments = pluralize("argument", unexpected.length);
usageError("Unexpected $arguments ${toSentence(unexpected)}.");
}
-
var package = commandOptions.rest.single;
-
- // Parse the version constraint, if there is one.
var constraint = VersionConstraint.any;
if (commandOptions["version"] != null) {
try {
@@ -53,40 +36,26 @@ class CacheAddCommand extends PubCommand {
usageError(error.message);
}
}
-
- // TODO(rnystrom): Support installing from git too.
var source = cache.sources["hosted"];
-
- // TODO(rnystrom): Allow specifying the server.
return source.getVersions(package, package).then((versions) {
versions = versions.where(constraint.allows).toList();
-
if (versions.isEmpty) {
- // TODO(rnystrom): Show most recent unmatching version?
fail("Package $package has no versions that match $constraint.");
}
-
downloadVersion(Version version) {
var id = new PackageId(package, source.name, version, package);
return cache.contains(id).then((contained) {
if (contained) {
- // TODO(rnystrom): Include source and description if not hosted.
- // See solve_report.dart for code to harvest.
log.message("Already cached ${id.name} ${id.version}.");
return null;
}
-
- // Download it.
return source.downloadToSystemCache(id);
});
}
-
if (commandOptions["all"]) {
- // Install them in ascending order.
versions.sort();
return Future.forEach(versions, downloadVersion);
} else {
- // Pick the best matching version.
versions.sort(Version.prioritize);
return downloadVersion(versions.last);
}

Powered by Google App Engine
This is Rietveld 408576698