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

Side by Side Diff: sdk/lib/_internal/pub/lib/src/solver/version_solver.dart

Issue 602253002: Use pub_semver package in pub. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 2 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
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 library pub.solver.version_solver; 5 library pub.solver.version_solver;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import "dart:convert"; 8 import "dart:convert";
9 9
10 import 'package:pub_semver/pub_semver.dart';
10 import 'package:stack_trace/stack_trace.dart'; 11 import 'package:stack_trace/stack_trace.dart';
11 12
12 import '../exceptions.dart'; 13 import '../exceptions.dart';
13 import '../lock_file.dart'; 14 import '../lock_file.dart';
14 import '../log.dart' as log; 15 import '../log.dart' as log;
15 import '../package.dart'; 16 import '../package.dart';
16 import '../pubspec.dart'; 17 import '../pubspec.dart';
17 import '../source_registry.dart'; 18 import '../source_registry.dart';
18 import '../version.dart';
19 import '../utils.dart'; 19 import '../utils.dart';
20 import 'backtracking_solver.dart'; 20 import 'backtracking_solver.dart';
21 import 'solve_report.dart'; 21 import 'solve_report.dart';
22 22
23 /// Attempts to select the best concrete versions for all of the transitive 23 /// Attempts to select the best concrete versions for all of the transitive
24 /// dependencies of [root] taking into account all of the [VersionConstraint]s 24 /// dependencies of [root] taking into account all of the [VersionConstraint]s
25 /// that those dependencies place on each other and the requirements imposed by 25 /// that those dependencies place on each other and the requirements imposed by
26 /// [lockFile]. 26 /// [lockFile].
27 /// 27 ///
28 /// If [useLatest] is given, then only the latest versions of the referenced 28 /// If [useLatest] is given, then only the latest versions of the referenced
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 _versionCacheHits++; 219 _versionCacheHits++;
220 return new Future.error(error.first, error.last); 220 return new Future.error(error.first, error.last);
221 } 221 }
222 222
223 _versionCacheMisses++; 223 _versionCacheMisses++;
224 224
225 var source = _sources[package.source]; 225 var source = _sources[package.source];
226 return source.getVersions(package.name, package.description) 226 return source.getVersions(package.name, package.description)
227 .then((versions) { 227 .then((versions) {
228 // Sort by priority so we try preferred versions first. 228 // Sort by priority so we try preferred versions first.
229 versions.sort(_type == SolveType.DOWNGRADE ? Version.antiPrioritize : 229 versions.sort(_type == SolveType.DOWNGRADE ? Version.antiprioritize :
230 Version.prioritize); 230 Version.prioritize);
231 231
232 var ids = versions.reversed.map( 232 var ids = versions.reversed.map(
233 (version) => package.atVersion(version)).toList(); 233 (version) => package.atVersion(version)).toList();
234 _versions[package] = ids; 234 _versions[package] = ids;
235 return ids; 235 return ids;
236 }).catchError((error, trace) { 236 }).catchError((error, trace) {
237 // If an error occurs, cache that too. We only want to do one request 237 // If an error occurs, cache that too. We only want to do one request
238 // for any given package, successful or not. 238 // for any given package, successful or not.
239 log.solver("Could not get versions for $package:\n$error\n\n$trace"); 239 log.solver("Could not get versions for $package:\n$error\n\n$trace");
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 492
493 DependencyNotFoundException(String package, this._innerException, 493 DependencyNotFoundException(String package, this._innerException,
494 Iterable<Dependency> dependencies) 494 Iterable<Dependency> dependencies)
495 : super(package, dependencies); 495 : super(package, dependencies);
496 496
497 /// The failure isn't because of the version of description of the package, 497 /// The failure isn't because of the version of description of the package,
498 /// it's the package itself that can't be found, so just show the name and no 498 /// it's the package itself that can't be found, so just show the name and no
499 /// descriptive details. 499 /// descriptive details.
500 String _describeDependency(PackageDep dep) => ""; 500 String _describeDependency(PackageDep dep) => "";
501 } 501 }
OLDNEW
« no previous file with comments | « sdk/lib/_internal/pub/lib/src/solver/solve_report.dart ('k') | sdk/lib/_internal/pub/lib/src/source.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698