Fix null safety for Dart 2.12 (#17)

diff --git a/.travis.yml b/.travis.yml
index 7f58d77..adcaa68 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,23 +3,9 @@
 dart:
   - dev
 
-jobs:
-  include:
-    - stage: analyze_and_format
-      name: "Analyze"
-      os: linux
-      script: dartanalyzer --enable-experiment=non-nullable --fatal-warnings --fatal-infos .
-    - stage: analyze_and_format
-      name: "Format"
-      os: linux
-      script: dartfmt -n --set-exit-if-changed .
-    - stage: test
-      name: "Tests"
-      os: linux
-      script: pub run --enable-experiment=non-nullable test
-
-stages:
-  - analyze_and_format
+dart_task:
+  - dartfmt
+  - dartanalyzer: --fatal-warnings --fatal-infos .
   - test
 
 # Only building master means that we don't run two builds for each pull request.
diff --git a/pubspec.yaml b/pubspec.yaml
index 2c27943..a00b053 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -7,78 +7,7 @@
 publish_to: none
 
 environment:
-  # This must remain a tight constraint until nnbd is stable.
-  sdk: '>=2.10.0-0 <2.11.0'
+  sdk: '>=2.12.0-0 <3.0.0'
 
 dev_dependencies:
-  test: ^1.2.0
-
-dependency_overrides:
-  test_api:
-    git:
-      url: git://github.com/dart-lang/test.git
-      path: pkgs/test_api
-  test_core:
-    git:
-      url: git://github.com/dart-lang/test.git
-      path: pkgs/test_core
-  test:
-    git:
-      url: git://github.com/dart-lang/test.git
-      path: pkgs/test
-  source_maps:
-    git:
-      url: git://github.com/dart-lang/source_maps.git
-  source_span:
-    git:
-      url: git://github.com/dart-lang/source_span.git
-  term_glyph:
-    git:
-      url: git://github.com/dart-lang/term_glyph.git
-  path:
-    git:
-      url: git://github.com/dart-lang/path.git
-  charcode:
-    git:
-      url: git://github.com/dart-lang/charcode.git
-  stream_channel:
-    git:
-      url: git://github.com/dart-lang/stream_channel.git
-  async:
-    git:
-      url: git://github.com/dart-lang/async.git
-  stack_trace:
-    git:
-      url: git://github.com/dart-lang/stack_trace.git
-  pool:
-    git:
-      url: git://github.com/dart-lang/pool.git
-  pedantic:
-    git:
-      url: git://github.com/dart-lang/pedantic.git
-  js:
-    git:
-      url: git://github.com/dart-lang/sdk.git
-      path: pkg/js
-  boolean_selector:
-    git:
-      url: git://github.com/dart-lang/boolean_selector.git
-  string_scanner:
-    git:
-      url: git://github.com/dart-lang/string_scanner.git
-  matcher:
-    git:
-      url: git://github.com/dart-lang/matcher.git
-  source_map_stack_trace:
-    git:
-      url: git://github.com/dart-lang/source_map_stack_trace.git
-  collection:
-    git:
-      url: git://github.com/dart-lang/collection.git
-  typed_data:
-    git:
-      url: git://github.com/dart-lang/typed_data.git
-  meta:
-    git:
-      url: git://github.com/dart-lang/sdk.git
-      path: pkg/meta
+  test: ^1.16.0-nullsafety.8