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

Unified Diff: utils/pub/entrypoint.dart

Issue 11638010: Convert /** comments to /// in pub. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Respond to review. Created 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « utils/pub/command_version.dart ('k') | utils/pub/git.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: utils/pub/entrypoint.dart
diff --git a/utils/pub/entrypoint.dart b/utils/pub/entrypoint.dart
index 56007e0fe78dd90ab32c0a88af95cdaae972a4be..897af2286b1e1a96a36f7bbf2ad657e2fb1400af 100644
--- a/utils/pub/entrypoint.dart
+++ b/utils/pub/entrypoint.dart
@@ -14,39 +14,31 @@ import 'utils.dart';
import 'version.dart';
import 'version_solver.dart';
-/**
- * Pub operates over a directed graph of dependencies that starts at a root
- * "entrypoint" package. This is typically the package where the current
- * working directory is located. An entrypoint knows the [root] package it is
- * associated with and is responsible for managing the "packages" directory
- * for it.
- *
- * That directory contains symlinks to all packages used by an app. These links
- * point either to the [SystemCache] or to some other location on the local
- * filesystem.
- *
- * While entrypoints are typically applications, a pure library package may end
- * up being used as an entrypoint. Also, a single package may be used as an
- * entrypoint in one context but not in another. For example, a package that
- * contains a reusable library may not be the entrypoint when used by an app,
- * but may be the entrypoint when you're running its tests.
- */
+/// Pub operates over a directed graph of dependencies that starts at a root
+/// "entrypoint" package. This is typically the package where the current
+/// working directory is located. An entrypoint knows the [root] package it is
+/// associated with and is responsible for managing the "packages" directory
+/// for it.
+///
+/// That directory contains symlinks to all packages used by an app. These links
+/// point either to the [SystemCache] or to some other location on the local
+/// filesystem.
+///
+/// While entrypoints are typically applications, a pure library package may end
+/// up being used as an entrypoint. Also, a single package may be used as an
+/// entrypoint in one context but not in another. For example, a package that
+/// contains a reusable library may not be the entrypoint when used by an app,
+/// but may be the entrypoint when you're running its tests.
class Entrypoint {
- /**
- * The root package this entrypoint is associated with.
- */
+ /// The root package this entrypoint is associated with.
final Package root;
- /**
- * The system-wide cache which caches packages that need to be fetched over
- * the network.
- */
+ /// The system-wide cache which caches packages that need to be fetched over
+ /// the network.
final SystemCache cache;
- /**
- * Packages which are either currently being asynchronously installed to the
- * directory, or have already been installed.
- */
+ /// Packages which are either currently being asynchronously installed to the
+ /// directory, or have already been installed.
final Map<PackageId, Future<PackageId>> _installs;
Entrypoint(this.root, this.cache)
@@ -58,25 +50,21 @@ class Entrypoint {
new Entrypoint(package, cache));
}
- /**
- * The path to this "packages" directory.
- */
// TODO(rnystrom): Make this path configurable.
+ /// The path to this "packages" directory.
String get path => join(root.dir, 'packages');
- /**
- * Ensures that the package identified by [id] is installed to the directory.
- * Returns the resolved [PackageId].
- *
- * If this completes successfully, the package is guaranteed to be importable
- * using the `package:` scheme.
- *
- * This will automatically install the package to the system-wide cache as
- * well if it requires network access to retrieve (specifically, if
- * `id.source.shouldCache` is true).
- *
- * See also [installDependencies].
- */
+ /// Ensures that the package identified by [id] is installed to the directory.
+ /// Returns the resolved [PackageId].
+ ///
+ /// If this completes successfully, the package is guaranteed to be importable
+ /// using the `package:` scheme.
+ ///
+ /// This will automatically install the package to the system-wide cache as
+ /// well if it requires network access to retrieve (specifically, if
+ /// `id.source.shouldCache` is true).
+ ///
+ /// See also [installDependencies].
Future<PackageId> install(PackageId id) {
var pendingOrCompleted = _installs[id];
if (pendingOrCompleted != null) return pendingOrCompleted;
@@ -108,32 +96,26 @@ class Entrypoint {
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.
- */
+ /// 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() {
return _loadLockFile()
.chain((lockFile) => resolveVersions(cache.sources, root, lockFile))
.chain(_installDependencies);
}
- /**
- * 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.
- */
+ /// 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, new LockFile.empty())
.chain(_installDependencies);
}
- /**
- * Installs 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.
- */
+ /// Installs 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) {
return _loadLockFile().chain((lockFile) {
var versionSolver = new VersionSolver(cache.sources, root, lockFile);
@@ -144,10 +126,8 @@ class Entrypoint {
}).chain(_installDependencies);
}
- /**
- * Removes the old packages directory, installs all dependencies listed in
- * [packageVersions], and writes a [LockFile].
- */
+ /// Removes the old packages directory, installs all dependencies listed in
+ /// [packageVersions], and writes a [LockFile].
Future _installDependencies(List<PackageId> packageVersions) {
return cleanDir(path).chain((_) {
return Futures.wait(packageVersions.map((id) {
@@ -159,13 +139,11 @@ class Entrypoint {
.chain(_linkSecondaryPackageDirs);
}
- /**
- * Loads the list of concrete package versions from the `pubspec.lock`, if it
- * exists. If it doesn't, this completes to an empty [LockFile].
- *
- * If there's an error reading the `pubspec.lock` file, this will print a
- * warning message and act as though the file doesn't exist.
- */
+ /// Loads the list of concrete package versions from the `pubspec.lock`, if it
+ /// exists. If it doesn't, this completes to an empty [LockFile].
+ ///
+ /// If there's an error reading the `pubspec.lock` file, this will print a
+ /// warning message and act as though the file doesn't exist.
Future<LockFile> _loadLockFile() {
var lockFilePath = join(root.dir, 'pubspec.lock');
@@ -181,9 +159,7 @@ class Entrypoint {
});
}
- /**
- * Saves a list of concrete package versions to the `pubspec.lock` file.
- */
+ /// Saves a list of concrete package versions to the `pubspec.lock` file.
Future _saveLockFile(List<PackageId> packageIds) {
var lockFile = new LockFile.empty();
for (var id in packageIds) {
@@ -195,10 +171,8 @@ class Entrypoint {
return 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:`.
- */
+ /// Installs a self-referential symlink in the `packages` directory that will
+ /// allow a package to import its own files using `package:`.
Future _installSelfReference(_) {
var linkPath = join(path, root.name);
return exists(linkPath).chain((exists) {
@@ -210,11 +184,9 @@ class Entrypoint {
});
}
- /**
- * If `bin/`, `test/`, or `example/` directories exist, symlink `packages/`
- * into them so that their entrypoints can be run. Do the same for any
- * subdirectories of `test/` and `example/`.
- */
+ /// If `bin/`, `test/`, or `example/` directories exist, symlink `packages/`
+ /// into them so that their entrypoints can be run. Do the same for any
+ /// subdirectories of `test/` and `example/`.
Future _linkSecondaryPackageDirs(_) {
var binDir = join(root.dir, 'bin');
var exampleDir = join(root.dir, 'example');
@@ -230,10 +202,8 @@ class Entrypoint {
.chain((_) => _linkSecondaryPackageDirsRecursively(webDir));
}
- /**
- * Creates a symlink to the `packages` directory in [dir] and all its
- * subdirectories.
- */
+ /// Creates a symlink to the `packages` directory in [dir] and all its
+ /// subdirectories.
Future _linkSecondaryPackageDirsRecursively(String dir) {
return dirExists(dir).chain((exists) {
if (!exists) return new Future.immediate(null);
@@ -251,10 +221,8 @@ class Entrypoint {
}
// TODO(nweiz): roll this into [listDir] in io.dart once issue 4775 is fixed.
- /**
- * Recursively lists the contents of [dir], excluding hidden `.DS_Store` files
- * and `package` files.
- */
+ /// Recursively lists the contents of [dir], excluding hidden `.DS_Store`
+ /// files and `package` files.
Future<List<String>> _listDirWithoutPackages(dir) {
return listDir(dir).chain((files) {
return Futures.wait(files.map((file) {
@@ -271,9 +239,7 @@ class Entrypoint {
}).transform(flatten);
}
- /**
- * Creates a symlink to the `packages` directory in [dir] if none exists.
- */
+ /// Creates a symlink to the `packages` directory in [dir] if none exists.
Future _linkSecondaryPackageDir(String dir) {
var to = join(dir, 'packages');
return exists(to).chain((exists) {
« no previous file with comments | « utils/pub/command_version.dart ('k') | utils/pub/git.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698