Index: lib/src/command/deps.dart |
diff --git a/lib/src/command/deps.dart b/lib/src/command/deps.dart |
index 7b1bafc8a591ac080a11fd70144b8e6be77dafbd..532f7375e38adf813e57c00724cda0f4e22ec7a4 100644 |
--- a/lib/src/command/deps.dart |
+++ b/lib/src/command/deps.dart |
@@ -4,14 +4,12 @@ |
library pub.command.list; |
-import 'dart:async'; |
import 'dart:collection'; |
import '../ascii_tree.dart' as tree; |
import '../command.dart'; |
import '../log.dart' as log; |
import '../package.dart'; |
-import '../package_graph.dart'; |
import '../utils.dart'; |
/// Handles the `deps` pub command. |
@@ -23,9 +21,6 @@ class DepsCommand extends PubCommand { |
String get docUrl => "http://dartlang.org/tools/pub/cmd/pub-deps.html"; |
bool get takesArguments => false; |
- /// The loaded package graph. |
- PackageGraph _graph; |
- |
/// The [StringBuffer] used to accumulate the output. |
StringBuffer _buffer; |
@@ -36,21 +31,21 @@ class DepsCommand extends PubCommand { |
defaultsTo: "tree"); |
} |
- Future run() { |
- return entrypoint.loadPackageGraph().then((graph) { |
- _graph = graph; |
- _buffer = new StringBuffer(); |
+ void run() { |
+ // Explicitly run this in case we don't access `entrypoint.packageGraph`. |
+ entrypoint.assertUpToDate(); |
- _buffer.writeln(_labelPackage(entrypoint.root)); |
+ _buffer = new StringBuffer(); |
- switch (argResults["style"]) { |
- case "compact": _outputCompact(); break; |
- case "list": _outputList(); break; |
- case "tree": _outputTree(); break; |
- } |
+ _buffer.writeln(_labelPackage(entrypoint.root)); |
+ |
+ switch (argResults["style"]) { |
+ case "compact": _outputCompact(); break; |
+ case "list": _outputList(); break; |
+ case "tree": _outputTree(); break; |
+ } |
- log.message(_buffer); |
- }); |
+ log.message(_buffer); |
} |
/// Outputs a list of all of the package's immediate, dev, override, and |
@@ -79,7 +74,7 @@ class DepsCommand extends PubCommand { |
_buffer.writeln(); |
_buffer.writeln("$section:"); |
for (var name in ordered(names)) { |
- var package = _graph.packages[name]; |
+ var package = entrypoint.packageGraph.packages[name]; |
_buffer.write("- ${_labelPackage(package)}"); |
if (package.dependencies.isEmpty) { |
@@ -120,7 +115,7 @@ class DepsCommand extends PubCommand { |
_buffer.writeln("$name:"); |
for (var name in deps) { |
- var package = _graph.packages[name]; |
+ var package = entrypoint.packageGraph.packages[name]; |
_buffer.writeln("- ${_labelPackage(package)}"); |
for (var dep in package.dependencies) { |
@@ -146,7 +141,8 @@ class DepsCommand extends PubCommand { |
// Start with the root dependencies. |
var packageTree = {}; |
for (var dep in entrypoint.root.immediateDependencies) { |
- toWalk.add(new Pair(_graph.packages[dep.name], packageTree)); |
+ toWalk.add( |
+ new Pair(entrypoint.packageGraph.packages[dep.name], packageTree)); |
} |
// Do a breadth-first walk to the dependency graph. |
@@ -167,7 +163,8 @@ class DepsCommand extends PubCommand { |
map[_labelPackage(package)] = childMap; |
for (var dep in package.dependencies) { |
- toWalk.add(new Pair(_graph.packages[dep.name], childMap)); |
+ toWalk.add( |
+ new Pair(entrypoint.packageGraph.packages[dep.name], childMap)); |
} |
} |
@@ -179,7 +176,7 @@ class DepsCommand extends PubCommand { |
/// Gets the names of the non-immediate dependencies of the root package. |
Set<String> _getTransitiveDependencies() { |
- var transitive = _graph.packages.keys.toSet(); |
+ var transitive = entrypoint.packageGraph.packages.keys.toSet(); |
var root = entrypoint.root; |
transitive.remove(root.name); |
transitive.removeAll(root.dependencies.map((dep) => dep.name)); |