diff --git a/pubspec.yaml b/pubspec.yaml
index 5936ee6..b76be7a 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -4,6 +4,8 @@
 description: The official Dart project benchmark harness.
 homepage: http://www.dartlang.org
 dependencies:
-  browser: any
+  browser: ">=0.10.0+2 <0.11.0"
 dev_dependencies:
-  unittest: any
+  unittest: ">=0.10.0 <0.11.0"
+  hop: ">=0.30.3 <0.31.0"
+  path: ">=1.1.0 <2.0.0"
diff --git a/test/all.dart b/test/all.dart
deleted file mode 100644
index 1c7afe6..0000000
--- a/test/all.dart
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright (c) 2014, Google Inc. Please see the AUTHORS file 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.
-
-library all_test;
-
-import 'benchmark_harness_test.dart' as benchmark_harness_test;
-import 'result_emitter_test.dart' as result_emitter_test;
-
-void main() {
-  benchmark_harness_test.main();
-  result_emitter_test.main();
-}
diff --git a/test/drone.sh b/test/drone.sh
index 011d231..2568f38 100755
--- a/test/drone.sh
+++ b/test/drone.sh
@@ -2,10 +2,7 @@
 pub install
 
 # analyze the code
-dartanalyzer example/Template.dart
-dartanalyzer lib/benchmark_harness.dart
-dartanalyzer test/all.dart
-dartanalyzer test/benchmark_harness_test.dart
+dart tool/hop_runner.dart analyze_all
 
 # run the tests
-dart test/all.dart
+dart tool/hop_runner.dart test
diff --git a/tool/hop_runner.dart b/tool/hop_runner.dart
new file mode 100755
index 0000000..3f7b7c8
--- /dev/null
+++ b/tool/hop_runner.dart
@@ -0,0 +1,37 @@
+#!/usr/bin/env dart
+library hop_runner;
+
+import 'dart:io';
+import 'dart:async';
+
+import 'package:hop/hop.dart';
+import 'package:hop/hop_tasks.dart';
+
+import 'package:path/path.dart' as path;
+
+import '../test/benchmark_harness_test.dart' as benchmark_harness_test;
+import '../test/result_emitter_test.dart' as result_emitter_test;
+
+void main(List<String> args) {
+  addTask('analyze_libs', createAnalyzerTask(_getDartFiles('lib')));
+  addTask('analyze_examples', createAnalyzerTask(_getDartFiles('example')));
+  addTask('analyze_tests', createAnalyzerTask(_getDartFiles('test')));
+
+  addChainedTask('analyze_all',
+      ['analyze_libs', 'analyze_examples', 'analyze_tests']);
+
+  addTask('test', createUnitTestTask((){
+    benchmark_harness_test.main();
+    result_emitter_test.main();
+  }));
+
+  runHop(args);
+}
+
+Future<List<String>> _getDartFiles(String directory) =>
+  new Directory(directory)
+    .list()
+    .where((FileSystemEntity fse) => fse is File)
+    .map((File file) => file.path)
+    .where((String filePath) => path.extension(filePath) == '.dart')
+    .toList();
