| Index: utils/pub/entrypoint.dart
|
| diff --git a/utils/pub/entrypoint.dart b/utils/pub/entrypoint.dart
|
| index 6d7ffe09f860f63b5713e3958d8f8ea601fb71bb..f778bbb2cd7f3efc581e3e881f3d0af2464a1bd0 100644
|
| --- a/utils/pub/entrypoint.dart
|
| +++ b/utils/pub/entrypoint.dart
|
| @@ -5,6 +5,9 @@
|
| library entrypoint;
|
|
|
| import 'dart:async';
|
| +
|
| +import '../../pkg/path/lib/path.dart' as path;
|
| +
|
| import 'io.dart';
|
| import 'lock_file.dart';
|
| import 'log.dart' as log;
|
| @@ -49,8 +52,8 @@ class Entrypoint {
|
| cache = cache;
|
|
|
| // TODO(rnystrom): Make this path configurable.
|
| - /// The path to this "packages" directory.
|
| - String get path => join(root.dir, 'packages');
|
| + /// The path to the entrypoint's "packages" directory.
|
| + String get packagesDir => join(root.dir, 'packages');
|
|
|
| /// Ensures that the package identified by [id] is installed to the directory.
|
| /// Returns the resolved [PackageId].
|
| @@ -67,9 +70,9 @@ class Entrypoint {
|
| var pendingOrCompleted = _installs[id];
|
| if (pendingOrCompleted != null) return pendingOrCompleted;
|
|
|
| - var packageDir = join(path, id.name);
|
| + var packageDir = join(packagesDir, id.name);
|
| var future = defer(() {
|
| - ensureDir(dirname(packageDir));
|
| + ensureDir(path.dirname(packageDir));
|
| if (!dirExists(packageDir)) return;
|
|
|
| // TODO(nweiz): figure out when to actually delete the directory, and when
|
| @@ -127,7 +130,7 @@ class Entrypoint {
|
| /// Removes the old packages directory, installs all dependencies listed in
|
| /// [packageVersions], and writes a [LockFile].
|
| Future _installDependencies(List<PackageId> packageVersions) {
|
| - return cleanDir(path).then((_) {
|
| + return cleanDir(packagesDir).then((_) {
|
| return Future.wait(packageVersions.map((id) {
|
| if (id.isRoot) return new Future.immediate(id);
|
| return install(id);
|
| @@ -224,10 +227,10 @@ class Entrypoint {
|
| /// allow a package to import its own files using `package:`.
|
| Future _installSelfReference(_) {
|
| return defer(() {
|
| - var linkPath = join(path, root.name);
|
| + var linkPath = join(packagesDir, root.name);
|
| // Create the symlink if it doesn't exist.
|
| if (entryExists(linkPath)) return;
|
| - ensureDir(path);
|
| + ensureDir(packagesDir);
|
| return createPackageSymlink(root.name, root.dir, linkPath,
|
| isSelfLink: true);
|
| });
|
| @@ -275,7 +278,7 @@ class Entrypoint {
|
| Future<List<String>> _listDirWithoutPackages(dir) {
|
| return listDir(dir).then((files) {
|
| return Future.wait(files.map((file) {
|
| - if (basename(file) == 'packages') return new Future.immediate([]);
|
| + if (path.basename(file) == 'packages') return new Future.immediate([]);
|
| return defer(() {
|
| if (!dirExists(file)) return [];
|
| return _listDirWithoutPackages(file);
|
| @@ -293,7 +296,7 @@ class Entrypoint {
|
| return defer(() {
|
| var to = join(dir, 'packages');
|
| if (entryExists(to)) return;
|
| - return createSymlink(path, to);
|
| + return createSymlink(packagesDir, to);
|
| });
|
| }
|
| }
|
|
|