More strong-mode fixes
diff --git a/pkgs/package_config/CHANGELOG.md b/pkgs/package_config/CHANGELOG.md index f4e355e..6ac42ec 100644 --- a/pkgs/package_config/CHANGELOG.md +++ b/pkgs/package_config/CHANGELOG.md
@@ -1,16 +1,15 @@ -# Changelog +## 0.1.4 -## 0.1.3-dev +- Strong mode fixes. -- Invalid test cleanup (to keepup with changes in `Uri`). +## 0.1.3 + +- Invalid test cleanup (to keep up with changes in `Uri`). ## 0.1.1 - Syntax updates. - ## 0.1.0 - Initial implementation. - -
diff --git a/pkgs/package_config/lib/discovery.dart b/pkgs/package_config/lib/discovery.dart index 10dbb8e..4c09eec 100644 --- a/pkgs/package_config/lib/discovery.dart +++ b/pkgs/package_config/lib/discovery.dart
@@ -28,19 +28,19 @@ /// resolution file, for example one specified using a `--packages` /// command-line parameter. Future<Packages> loadPackagesFile(Uri packagesFile, - {Future<List<int>> loader(Uri uri)}) { + {Future<List<int>> loader(Uri uri)}) async { Packages parseBytes(List<int> bytes) { Map<String, Uri> packageMap = pkgfile.parse(bytes, packagesFile); return new MapPackages(packageMap); } if (packagesFile.scheme == "file") { File file = new File.fromUri(packagesFile); - return file.readAsBytes().then(parseBytes); + return parseBytes(await file.readAsBytes()); } if (loader == null) { - return _httpGet(packagesFile).then(parseBytes); + return parseBytes(await _httpGet(packagesFile)); } - return loader(packagesFile).then(parseBytes); + return parseBytes(await loader(packagesFile)); } /// Create a [Packages] object for a package directory. @@ -189,17 +189,19 @@ /// of the requested `.packages` file as bytes, which will be assumed to be /// UTF-8 encoded. Future<Packages> findPackagesFromNonFile(Uri nonFileUri, - {Future<List<int>> loader(Uri name)}) { + {Future<List<int>> loader(Uri name)}) async { if (loader == null) loader = _httpGet; Uri packagesFileUri = nonFileUri.resolve(".packages"); - return loader(packagesFileUri).then((List<int> fileBytes) { + + try { + List<int> fileBytes = await loader(packagesFileUri); Map<String, Uri> map = pkgfile.parse(fileBytes, packagesFileUri); return new MapPackages(map); - }, onError: (_) { + } catch (_) { // Didn't manage to load ".packages". Assume a "packages/" directory. Uri packagesDirectoryUri = nonFileUri.resolve("packages/"); return new NonFilePackagesDirectoryPackages(packagesDirectoryUri); - }); + } } /// Fetches a file over http.
diff --git a/pkgs/package_config/pubspec.yaml b/pkgs/package_config/pubspec.yaml index f2c4e06..80aea6d 100644 --- a/pkgs/package_config/pubspec.yaml +++ b/pkgs/package_config/pubspec.yaml
@@ -1,5 +1,5 @@ name: package_config -version: 0.1.3 +version: 0.1.4 description: Support for working with Package Resolution config files. author: Dart Team <misc@dartlang.org> homepage: https://github.com/dart-lang/package_config