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

Side by Side Diff: utils/pub/version_solver.dart

Issue 11867024: Move some core classes to collection library. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Update status files with bug number. Created 7 years, 11 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tools/testing/dart/test_runner.dart ('k') | utils/pub/yaml/yaml.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /// Attempts to resolve a set of version constraints for a package dependency 5 /// Attempts to resolve a set of version constraints for a package dependency
6 /// graph and select an appropriate set of best specific versions for all 6 /// graph and select an appropriate set of best specific versions for all
7 /// dependent packages. It works iteratively and tries to reach a stable 7 /// dependent packages. It works iteratively and tries to reach a stable
8 /// solution where the constraints of all dependencies are met. If it fails to 8 /// solution where the constraints of all dependencies are met. If it fails to
9 /// reach a solution after a certain number of iterations, it assumes the 9 /// reach a solution after a certain number of iterations, it assumes the
10 /// dependency graph is unstable and reports and error. 10 /// dependency graph is unstable and reports and error.
(...skipping 18 matching lines...) Expand all
29 /// constraint on that package. I.e. with a shared dependency, we intersect all 29 /// constraint on that package. I.e. with a shared dependency, we intersect all
30 /// of the constraints that its depending packages place on it. If that overall 30 /// of the constraints that its depending packages place on it. If that overall
31 /// constraint changes (say from "<3.0.0" to "<2.5.0"), then the currently 31 /// constraint changes (say from "<3.0.0" to "<2.5.0"), then the currently
32 /// picked version for that package may fall outside of the new constraint. If 32 /// picked version for that package may fall outside of the new constraint. If
33 /// that happens, we find the new best version that meets the updated constraint 33 /// that happens, we find the new best version that meets the updated constraint
34 /// and then the change the package to use that version. That cycles back up to 34 /// and then the change the package to use that version. That cycles back up to
35 /// the beginning again. 35 /// the beginning again.
36 library version_solver; 36 library version_solver;
37 37
38 import 'dart:async'; 38 import 'dart:async';
39 import 'dart:collection' show Queue;
39 import 'dart:json' as json; 40 import 'dart:json' as json;
40 import 'dart:math'; 41 import 'dart:math';
41 import 'lock_file.dart'; 42 import 'lock_file.dart';
42 import 'log.dart' as log; 43 import 'log.dart' as log;
43 import 'package.dart'; 44 import 'package.dart';
44 import 'pubspec.dart'; 45 import 'pubspec.dart';
45 import 'root_source.dart'; 46 import 'root_source.dart';
46 import 'source.dart'; 47 import 'source.dart';
47 import 'source_registry.dart'; 48 import 'source_registry.dart';
48 import 'utils.dart'; 49 import 'utils.dart';
(...skipping 651 matching lines...) Expand 10 before | Expand all | Expand 10 after
700 701
701 String toString() { 702 String toString() {
702 // TODO(nweiz): Dump descriptions to YAML when that's supported. 703 // TODO(nweiz): Dump descriptions to YAML when that's supported.
703 return "Incompatible dependencies on '$package':\n" 704 return "Incompatible dependencies on '$package':\n"
704 "- '$depender1' depends on it with description " 705 "- '$depender1' depends on it with description "
705 "${json.stringify(description1)}\n" 706 "${json.stringify(description1)}\n"
706 "- '$depender2' depends on it with description " 707 "- '$depender2' depends on it with description "
707 "${json.stringify(description2)}"; 708 "${json.stringify(description2)}";
708 } 709 }
709 } 710 }
OLDNEW
« no previous file with comments | « tools/testing/dart/test_runner.dart ('k') | utils/pub/yaml/yaml.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698