Import dart:async when using Future to support Dart 2.0.0 (#22)
Fixes https://github.com/dart-lang/package_resolver/issues/23
diff --git a/.travis.yml b/.travis.yml
index 8f4447d..538a8c7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,16 +2,14 @@
dart:
- dev
+ - stable
+ - 2.0.0
+
dart_task:
- test: --platform vm
- test: --platform firefox
-
-matrix:
- include:
- - dart: dev
- dart_task: dartfmt
- - dart: dev
- dart_task: dartanalyzer
+ - dartfmt
+ - dartanalyzer: --fatal-infos --fatal-warnings .
# Only building master means that we don't run two builds for each pull request.
branches:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c3dd179..7590f16 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.0.8
+
+* Fix issue on Dart `2.0.0`.
+
## 1.0.7
* Use conditional imports to avoid `dart:isolate` imports on the web.
diff --git a/lib/src/current_isolate_resolver.dart b/lib/src/current_isolate_resolver.dart
index 63bf716..dcd5822 100644
--- a/lib/src/current_isolate_resolver.dart
+++ b/lib/src/current_isolate_resolver.dart
@@ -30,6 +30,7 @@
Future<Uri> get packageConfigUri => Isolate.packageConfig;
+ // ignore: deprecated_member_use
Future<Uri> get packageRoot => Isolate.packageRoot;
Future<SyncPackageResolver> get asSync async {
diff --git a/lib/src/utils_isolate.dart b/lib/src/utils_isolate.dart
index a58c4db..b197429 100644
--- a/lib/src/utils_isolate.dart
+++ b/lib/src/utils_isolate.dart
@@ -2,6 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+import 'dart:async';
import 'dart:isolate';
Future<Uri> resolvePackageUri(Uri packageUri) =>
diff --git a/lib/src/utils_isolate_stub.dart b/lib/src/utils_isolate_stub.dart
index 4639b97..b5071ac 100644
--- a/lib/src/utils_isolate_stub.dart
+++ b/lib/src/utils_isolate_stub.dart
@@ -2,5 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+import 'dart:async';
+
Future<Uri> resolvePackageUri(Uri packageUri) =>
throw UnsupportedError('May not use a package URI');
diff --git a/pubspec.yaml b/pubspec.yaml
index ebf36e7..eba6244 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,12 +1,12 @@
name: package_resolver
-version: 1.0.7
+version: 1.0.8
description: First-class package resolution strategy classes.
author: Dart Team <misc@dartlang.org>
homepage: https://github.com/dart-lang/package_resolver
environment:
- sdk: '>=2.0.0-dev.37.0 <3.0.0'
+ sdk: '>=2.0.0 <3.0.0'
dependencies:
collection: ^1.9.0
diff --git a/test/current_isolate_info_test.dart b/test/current_isolate_info_test.dart
index 4891bc9..d0573c3 100644
--- a/test/current_isolate_info_test.dart
+++ b/test/current_isolate_info_test.dart
@@ -8,13 +8,12 @@
import 'dart:io';
import 'dart:isolate';
+import 'package:package_resolver/package_resolver.dart';
+import 'package:package_resolver/src/utils.dart';
import 'package:path/path.dart' as p;
import 'package:stack_trace/stack_trace.dart';
import 'package:test/test.dart';
-import 'package:package_resolver/package_resolver.dart';
-import 'package:package_resolver/src/utils.dart';
-
void main() {
// It's important to test these, because they use PackageConfig.current and
// they're used to verify the output of the inner isolate's
@@ -224,6 +223,7 @@
var errorPort = new ReceivePort();
try {
var isolate = await Isolate.spawnUri(data.uri, [], receivePort.sendPort,
+ // ignore: deprecated_member_use
packageRoot: await packageResolver.packageRoot,
packageConfig: await packageResolver.packageConfigUri,
paused: true);