Chromium Code Reviews| Index: utils/pub/io.dart |
| diff --git a/utils/pub/io.dart b/utils/pub/io.dart |
| index 3c8269396148bd8ee76955623be6c49bee5d0761..f3c8cf3521fdfe1a3452834ecac647c583843e43 100644 |
| --- a/utils/pub/io.dart |
| +++ b/utils/pub/io.dart |
| @@ -318,58 +318,28 @@ Future<File> createSymlink(from, to) { |
| } |
| /** |
| - * Creates a new symlink that creates an alias from the package [from] to [to], |
| - * both of which can be a [String], [File], or [Directory]. Returns a [Future] |
| - * which completes to the symlink file (i.e. [to]). |
| - * |
| - * Unlike [createSymlink], this has heuristics to detect if [from] is using |
| - * the old or new style of package layout. If it's using the new style, then |
| - * it will create a symlink to the "lib" directory contained inside that |
| - * package directory. Otherwise, it just symlinks to the package directory |
| - * itself. |
| - */ |
| -// TODO(rnystrom): Remove this when old style packages are no longer supported. |
| -// See: http://code.google.com/p/dart/issues/detail?id=4964. |
| + * Creates a new symlink that creates an alias from the `lib` directory of |
| + * package [from] to [to], both of which can be a [String], [File], or |
| + * [Directory]. Returns a [Future] which completes to the symlink file (i.e. |
| + * [to]). If [from] does not have a `lib` directory, this shows a warning if |
| + * appropriate and then does nothing. |
| + */ |
| Future<File> createPackageSymlink(String name, from, to, |
| {bool isSelfLink: false}) { |
| - // If from contains any Dart files at the top level (aside from build.dart) |
| - // we assume that means it's an old style package. |
| - return listDir(from).chain((contents) { |
| - var isOldStyle = contents.some( |
| - (file) => file.endsWith('.dart') && basename(file) != 'build.dart'); |
| - |
| - if (isOldStyle) { |
| - if (isSelfLink) { |
| - printError('Warning: Package "$name" is using a deprecated layout.'); |
| - printError('See http://www.dartlang.org/docs/pub-package-manager/' |
| - 'package-layout.html for details.'); |
| - |
| - // Do not create self-links on old style packages. |
| - return new Future.immediate(to); |
| - } else { |
| - return createSymlink(from, to); |
| - } |
| + // See if the package has a "lib" directory. |
| + from = join(from, 'lib'); |
| + return dirExists(from).chain((exists) { |
| + if (exists) return createSymlink(from, to); |
| + |
| + // It's OK for the self link (i.e. the root package) to not have a lib |
| + // directory since it may just be a leaf application that only has |
| + // code in bin or web. |
| + if (!isSelfLink) { |
| + printError( |
| + 'Warning: Package "$name" does not have a "lib" directory.'); |
|
nweiz
2012/11/16 00:16:21
Maybe also explain that you aren't creating a link
Bob Nystrom
2012/11/16 00:23:45
Done.
|
| } |
| - // It's a new style package, so symlink to the 'lib' directory. But only |
| - // if the package actually *has* one. Otherwise, we won't create a |
| - // symlink at all. |
| - from = join(from, 'lib'); |
| - return dirExists(from).chain((exists) { |
| - if (exists) { |
| - return createSymlink(from, to); |
| - } else { |
| - // It's OK for the self link (i.e. the root package) to not have a lib |
| - // directory since it may just be a leaf application that only has |
| - // code in bin or web. |
| - if (!isSelfLink) { |
| - printError( |
| - 'Warning: Package "$name" does not have a "lib" directory.'); |
| - } |
| - |
| - return new Future.immediate(to); |
| - } |
| - }); |
| + return new Future.immediate(to); |
| }); |
| } |