| Index: sdk/lib/_internal/pub/lib/src/pub_package_provider.dart
|
| diff --git a/sdk/lib/_internal/pub/lib/src/pub_package_provider.dart b/sdk/lib/_internal/pub/lib/src/pub_package_provider.dart
|
| index da98c6fddc988e90792ec9d65661dffd31d49087..624312707a55e6eac6fbcc97e7cbbe2461664368 100644
|
| --- a/sdk/lib/_internal/pub/lib/src/pub_package_provider.dart
|
| +++ b/sdk/lib/_internal/pub/lib/src/pub_package_provider.dart
|
| @@ -61,12 +61,18 @@ class PubPackageProvider implements PackageProvider {
|
| var packageDir = _packageDirs[package];
|
| var dir = path.join(packageDir, dirPath);
|
| if (!dirExists(dir)) return;
|
| - var entries = listDir(dir, recursive: true);
|
| - files.addAll(entries
|
| - .where((entry) => !path.split(entry).contains("packages"))
|
| - .where(fileExists)
|
| - .map((entry) => new AssetId(package,
|
| - path.relative(entry, from: packageDir))));
|
| + for (var entry in listDir(dir, recursive: true)) {
|
| + // Ignore "packages" symlinks if there.
|
| + if (path.split(entry).contains("packages")) continue;
|
| +
|
| + // Skip directories.
|
| + if (!fileExists(entry)) continue;
|
| +
|
| + // AssetId paths use "/" on all platforms.
|
| + var relative = path.relative(entry, from: packageDir);
|
| + relative = path.toUri(relative).path;
|
| + files.add(new AssetId(package, relative));
|
| + }
|
| }
|
|
|
| // Expose the "asset" and "lib" directories.
|
|
|