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

Side by Side Diff: lib/src/source/hosted.dart

Issue 1971523002: Fix --offline with prerelease versions. (Closed) Base URL: git@github.com:dart-lang/pub.git@master
Patch Set: Created 4 years, 7 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
« no previous file with comments | « no previous file | test/hosted/offline_test.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 import 'dart:async'; 5 import 'dart:async';
6 import 'dart:io' as io; 6 import 'dart:io' as io;
7 import "dart:convert"; 7 import "dart:convert";
8 8
9 import 'package:http/http.dart' as http; 9 import 'package:http/http.dart' as http;
10 import 'package:path/path.dart' as path; 10 import 'package:path/path.dart' as path;
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 "$systemCacheRoot/${_urlToDirectory(server)}"); 264 "$systemCacheRoot/${_urlToDirectory(server)}");
265 265
266 var dir = path.join(systemCacheRoot, _urlToDirectory(server)); 266 var dir = path.join(systemCacheRoot, _urlToDirectory(server));
267 267
268 var versions; 268 var versions;
269 if (dirExists(dir)) { 269 if (dirExists(dir)) {
270 versions = await listDir(dir).map((entry) { 270 versions = await listDir(dir).map((entry) {
271 var components = path.basename(entry).split("-"); 271 var components = path.basename(entry).split("-");
272 if (components.first != ref.name) return null; 272 if (components.first != ref.name) return null;
273 return HostedSource.idFor( 273 return HostedSource.idFor(
274 ref.name, new Version.parse(components.last), 274 ref.name, new Version.parse(components.skip(1).join("-")),
275 url: _serverFor(ref.description)); 275 url: _serverFor(ref.description));
276 }).where((id) => id != null).toList(); 276 }).where((id) => id != null).toList();
277 } else { 277 } else {
278 versions = []; 278 versions = [];
279 } 279 }
280 280
281 // If there are no versions in the cache, report a clearer error. 281 // If there are no versions in the cache, report a clearer error.
282 if (versions.isEmpty) { 282 if (versions.isEmpty) {
283 throw new PackageNotFoundException( 283 throw new PackageNotFoundException(
284 "Could not find package ${ref.name} in cache."); 284 "Could not find package ${ref.name} in cache.");
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 var name = description["name"]; 393 var name = description["name"];
394 if (name is! String) { 394 if (name is! String) {
395 throw new FormatException("The 'name' key must have a string value."); 395 throw new FormatException("The 'name' key must have a string value.");
396 } 396 }
397 397
398 var url = description["url"]; 398 var url = description["url"];
399 if (url == null) url = HostedSource.defaultUrl; 399 if (url == null) url = HostedSource.defaultUrl;
400 400
401 return new Pair<String, String>(name, url); 401 return new Pair<String, String>(name, url);
402 } 402 }
OLDNEW
« no previous file with comments | « no previous file | test/hosted/offline_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698