First pass at version constraint solver.
It does: - Walk dependency graphs. - Unify shared constraints. - Go through Source to get dependency and version information. - Handle the fact that everything is async. - Find best versions that match all constraints. - Error out if it can't find a match or gets stuck in a loop. - Have an OK amount of tests. It does not: - Handle dependencies from different sources. - Integrate with the rest of pub. - Implement an actual "pub update" command. - Do very much to minimize server traffic. (Though it does cache pubspecs it has requested.) Review URL: https://chromiumcodereview.appspot.com//10540151 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@8985 260f80e4-7a28-3924-810f-c04153c831b5
Showing
- lib/src/package.dart 11 additions, 4 deletionslib/src/package.dart
- lib/src/pubspec.dart 7 additions, 10 deletionslib/src/pubspec.dart
- lib/src/source.dart 24 additions, 0 deletionslib/src/source.dart
- lib/src/version.dart 224 additions, 6 deletionslib/src/version.dart
- lib/src/version_solver.dart 425 additions, 0 deletionslib/src/version_solver.dart
- test/pubspec_test.dart 19 additions, 0 deletionstest/pubspec_test.dart
- test/version_solver_test.dart 277 additions, 0 deletionstest/version_solver_test.dart
- test/version_test.dart 251 additions, 23 deletionstest/version_test.dart
Loading
Please register or sign in to comment