Index: sdk/lib/_internal/pub/lib/src/solver/backtracking_solver.dart |
diff --git a/sdk/lib/_internal/pub/lib/src/solver/backtracking_solver.dart b/sdk/lib/_internal/pub/lib/src/solver/backtracking_solver.dart |
index 4f8123ca70d4ed32eacd34f02e2e22678665fb32..f487dd66f7c9c942501782827d59a3e25852b05b 100644 |
--- a/sdk/lib/_internal/pub/lib/src/solver/backtracking_solver.dart |
+++ b/sdk/lib/_internal/pub/lib/src/solver/backtracking_solver.dart |
@@ -486,6 +486,8 @@ class BacktrackingSolver { |
_validateSdkConstraint(pubspec); |
for (var dep in await depsFor(id)) { |
+ if (dep.isMagic) continue; |
+ |
var dependency = new Dependency(id, dep); |
var allDeps = _selection.getDependenciesOn(dep.name).toList(); |
allDeps.add(dependency); |
@@ -591,10 +593,14 @@ class BacktrackingSolver { |
} |
// Make sure the package doesn't have any bad dependencies. |
- for (var dep in deps) { |
+ for (var dep in deps.toSet()) { |
if (!dep.isRoot && sources[dep.source] is UnknownSource) { |
throw new UnknownSourceException(id.name, [new Dependency(id, dep)]); |
} |
+ |
+ if (dep.name == 'barback') { |
+ deps.add(new PackageDep.magic('pub itself')); |
+ } |
} |
return deps; |