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

Unified Diff: sdk/lib/_internal/pub/lib/src/entrypoint.dart

Issue 26284002: Rename "install" -> "get" and "update" -> "upgrade". (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 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 side-by-side diff with in-line comments
Download patch
Index: sdk/lib/_internal/pub/lib/src/entrypoint.dart
diff --git a/sdk/lib/_internal/pub/lib/src/entrypoint.dart b/sdk/lib/_internal/pub/lib/src/entrypoint.dart
index 317b1cb74cbf048086c5dae7cb70f27cffe64eb2..0e6395704d26548854e12e83f5fd92952b4b83a2 100644
--- a/sdk/lib/_internal/pub/lib/src/entrypoint.dart
+++ b/sdk/lib/_internal/pub/lib/src/entrypoint.dart
@@ -41,9 +41,9 @@ class Entrypoint {
/// the network.
final SystemCache cache;
- /// Packages which are either currently being asynchronously installed to the
- /// directory, or have already been installed.
- final _installs = new Map<PackageId, Future<PackageId>>();
+ /// Packages which are either currently being asynchronously downloaded to the
+ /// directory, or have already been downloaded.
nweiz 2013/10/07 21:25:15 It seems weird that the docstring says "download"
Bob Nystrom 2013/10/07 22:32:25 Yeah. Reworded.
+ final _pendingGets = new Map<PackageId, Future<PackageId>>();
/// Loads the entrypoint from a package at [rootDir].
Entrypoint(String rootDir, SystemCache cache)
@@ -60,19 +60,18 @@ class Entrypoint {
/// The path to the entrypoint package's lockfile.
String get lockFilePath => path.join(root.dir, 'pubspec.lock');
- /// Ensures that the package identified by [id] is installed to the directory.
- /// Returns the resolved [PackageId].
+ /// Gets package [id] and makes it available for use by this entrypoint.
///
/// If this completes successfully, the package is guaranteed to be importable
- /// using the `package:` scheme.
+ /// using the `package:` scheme. Returns the resolved [PackageId].
///
- /// This will automatically install the package to the system-wide cache as
- /// well if it requires network access to retrieve (specifically, if the
- /// package's source has [shouldCache] as `true`).
+ /// This automatically downloads the package to the system-wide cache as well
+ /// if it requires network access to retrieve (specifically, if the package's
+ /// source has [shouldCache] as `true`).
///
- /// See also [installDependencies].
- Future<PackageId> install(PackageId id) {
- var pending = _installs[id];
+ /// See also [getDependencies].
+ Future<PackageId> get(PackageId id) {
+ var pending = _pendingGets[id];
if (pending != null) return pending;
var packageDir = path.join(packagesDir, id.name);
@@ -84,68 +83,69 @@ class Entrypoint {
if (entryExists(packageDir)) {
// TODO(nweiz): figure out when to actually delete the directory, and
// when we can just re-use the existing symlink.
- log.fine("Deleting package directory for ${id.name} before install.");
+ log.fine("Deleting package directory for ${id.name} before get.");
deleteEntry(packageDir);
}
source = cache.sources[id.source];
if (source.shouldCache) {
- return cache.install(id).then(
+ return cache.download(id).then(
(pkg) => createPackageSymlink(id.name, pkg.dir, packageDir));
} else {
- return source.install(id, packageDir).then((found) {
+ return source.get(id, packageDir).then((found) {
if (found) return null;
fail('Package ${id.name} not found in source "${id.source}".');
});
}
}).then((_) => source.resolveId(id));
- _installs[id] = future;
+ _pendingGets[id] = future;
return future;
}
- /// Installs all dependencies of the [root] package to its "packages"
- /// directory, respecting the [LockFile] if present. Returns a [Future] that
- /// completes when all dependencies are installed.
- Future installDependencies() {
+ /// Gets all dependencies of the [root] package and places them in its
nweiz 2013/10/07 21:25:15 "Gets" -> "Downloads", since placing them in the "
Bob Nystrom 2013/10/07 22:32:25 I've tried to have "download" consistently mean "p
nweiz 2013/10/07 23:23:08 I feel like if you're going to use "get" here you
Bob Nystrom 2013/10/08 21:15:03 Done. See: https://codereview.chromium.org/2628400
+ /// "packages" directory, respecting the [LockFile] if present. Returns a
+ /// [Future] that completes when all dependencies are available.
+ Future getDependencies() {
return new Future.sync(() {
return resolveVersions(cache.sources, root, lockFile: loadLockFile());
- }).then(_installDependencies);
+ }).then(_getDependencies);
}
- /// Installs the latest available versions of all dependencies of the [root]
- /// package to its "package" directory, writing a new [LockFile]. Returns a
- /// [Future] that completes when all dependencies are installed.
- Future updateAllDependencies() {
- return resolveVersions(cache.sources, root).then(_installDependencies);
+ /// Gets the latest available versions of all dependencies of the [root]
+ /// package and places them in its "package" directory, writing a new
+ /// [LockFile]. Returns a [Future] that completes when all dependencies are
+ /// available.
+ Future upgradeAllDependencies() {
+ return resolveVersions(cache.sources, root).then(_getDependencies);
}
- /// Installs the latest available versions of [dependencies], while leaving
+ /// Gets the latest available versions of [dependencies], while leaving
/// other dependencies as specified by the [LockFile] if possible. Returns a
- /// [Future] that completes when all dependencies are installed.
- Future updateDependencies(List<String> dependencies) {
+ /// [Future] that completes when all dependencies are available.
+ Future upgradeDependencies(List<String> dependencies) {
return new Future.sync(() {
return resolveVersions(cache.sources, root,
lockFile: loadLockFile(), useLatest: dependencies);
- }).then(_installDependencies);
+ }).then(_getDependencies);
}
- /// Removes the old packages directory, installs all dependencies listed in
+ /// Removes the old packages directory, gets all dependencies listed in
/// [result], and writes a [LockFile].
- Future _installDependencies(SolveResult result) {
+ Future _getDependencies(SolveResult result) {
return new Future.sync(() {
if (!result.succeeded) throw result.error;
cleanDir(packagesDir);
return Future.wait(result.packages.map((id) {
if (id.isRoot) return new Future.value(id);
- return install(id);
+ return get(id);
}).toList());
}).then((ids) {
_saveLockFile(ids);
- _installSelfReference();
+ _linkSelf();
_linkSecondaryPackageDirs();
});
}
@@ -215,9 +215,9 @@ class Entrypoint {
writeTextFile(lockFilePath, lockFile.serialize());
}
- /// Installs a self-referential symlink in the `packages` directory that will
- /// allow a package to import its own files using `package:`.
- void _installSelfReference() {
+ /// Creates a self-referential symlink in the `packages` directory that allows
+ /// a package to import its own files using `package:`.
+ void _linkSelf() {
var linkPath = path.join(packagesDir, root.name);
// Create the symlink if it doesn't exist.
if (entryExists(linkPath)) return;

Powered by Google App Engine
This is Rietveld 408576698