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

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

Issue 1528523003: Clean up the semantics of package descriptions. (Closed) Base URL: git@github.com:dart-lang/pub.git@master
Patch Set: Code review changes Created 5 years 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 | « lib/src/source.dart ('k') | lib/src/source/git.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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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.source.cached; 5 library pub.source.cached;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:path/path.dart' as path; 9 import 'package:path/path.dart' as path;
10 10
(...skipping 12 matching lines...) Expand all
23 abstract class CachedSource extends Source { 23 abstract class CachedSource extends Source {
24 /// The root directory of this source's cache within the system cache. 24 /// The root directory of this source's cache within the system cache.
25 /// 25 ///
26 /// This shouldn't be overridden by subclasses. 26 /// This shouldn't be overridden by subclasses.
27 String get systemCacheRoot => path.join(systemCache.rootDir, name); 27 String get systemCacheRoot => path.join(systemCache.rootDir, name);
28 28
29 /// If [id] is already in the system cache, just loads it from there. 29 /// If [id] is already in the system cache, just loads it from there.
30 /// 30 ///
31 /// Otherwise, defers to the subclass. 31 /// Otherwise, defers to the subclass.
32 Future<Pubspec> doDescribe(PackageId id) async { 32 Future<Pubspec> doDescribe(PackageId id) async {
33 var packageDir = getDirectory(await resolveId(id)); 33 var packageDir = getDirectory(id);
34 if (fileExists(path.join(packageDir, "pubspec.yaml"))) { 34 if (fileExists(path.join(packageDir, "pubspec.yaml"))) {
35 return new Pubspec.load(packageDir, systemCache.sources, 35 return new Pubspec.load(packageDir, systemCache.sources,
36 expectedName: id.name); 36 expectedName: id.name);
37 } 37 }
38 38
39 return await describeUncached(id); 39 return await describeUncached(id);
40 } 40 }
41 41
42 /// Loads the (possibly remote) pubspec for the package version identified by 42 /// Loads the (possibly remote) pubspec for the package version identified by
43 /// [id]. 43 /// [id].
44 /// 44 ///
45 /// This will only be called for packages that have not yet been installed in 45 /// This will only be called for packages that have not yet been installed in
46 /// the system cache. 46 /// the system cache.
47 Future<Pubspec> describeUncached(PackageId id); 47 Future<Pubspec> describeUncached(PackageId id);
48 48
49 Future get(PackageId id, String symlink) { 49 Future get(PackageId id, String symlink) {
50 return downloadToSystemCache(id).then((pkg) { 50 return downloadToSystemCache(id).then((pkg) {
51 createPackageSymlink(id.name, pkg.dir, symlink); 51 createPackageSymlink(id.name, pkg.dir, symlink);
52 }); 52 });
53 } 53 }
54 54
55 /// Determines if the package with [id] is already downloaded to the system 55 /// Determines if the package identified by [id] is already downloaded to the
56 /// cache. 56 /// system cache.
57 ///
58 /// Depending on the source, this may throw an [ArgumentError] if [id] isn't
59 /// resolved using [resolveId].
60 bool isInSystemCache(PackageId id) => dirExists(getDirectory(id)); 57 bool isInSystemCache(PackageId id) => dirExists(getDirectory(id));
61 58
62 /// Downloads the package identified by [id] to the system cache. 59 /// Downloads the package identified by [id] to the system cache.
63 Future<Package> downloadToSystemCache(PackageId id); 60 Future<Package> downloadToSystemCache(PackageId id);
64 61
65 /// Returns the [Package]s that have been downloaded to the system cache. 62 /// Returns the [Package]s that have been downloaded to the system cache.
66 List<Package> getCachedPackages(); 63 List<Package> getCachedPackages();
67 64
68 /// Reinstalls all packages that have been previously installed into the 65 /// Reinstalls all packages that have been previously installed into the
69 /// system cache by this source. 66 /// system cache by this source.
70 /// 67 ///
71 /// Returns a [Pair] whose first element is the packages that were 68 /// Returns a [Pair] whose first element is the packages that were
72 /// successfully repaired and the second is the packages that failed to be 69 /// successfully repaired and the second is the packages that failed to be
73 /// repaired. 70 /// repaired.
74 Future<Pair<List<PackageId>, List<PackageId>>> repairCachedPackages(); 71 Future<Pair<List<PackageId>, List<PackageId>>> repairCachedPackages();
75 } 72 }
OLDNEW
« no previous file with comments | « lib/src/source.dart ('k') | lib/src/source/git.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698