Index: pkg/analyzer_cli/lib/starter.dart |
diff --git a/pkg/analyzer_cli/lib/starter.dart b/pkg/analyzer_cli/lib/starter.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d51dc5e4fb7d9f48c80451599b154384b8366029 |
--- /dev/null |
+++ b/pkg/analyzer_cli/lib/starter.dart |
@@ -0,0 +1,40 @@ |
+// Copyright (c) 2016, the Dart project authors. 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 analyzer_cli.starter; |
+ |
+import 'package:analyzer_cli/plugin/analysis/resolver_provider.dart'; |
+import 'package:analyzer_cli/src/driver.dart'; |
+import 'package:plugin/plugin.dart'; |
+ |
+/** |
+ * An object that can be used to start a command-line analysis. This class |
+ * exists so that clients can configure a command-line analyzer before starting |
+ * it. |
+ * |
+ * Clients may not extend, implement or mix-in this class. |
+ */ |
+abstract class CommandLineStarter { |
+ /** |
+ * Initialize a newly created starter to start up a command-line analysis. |
+ */ |
+ factory CommandLineStarter() = Driver; |
+ |
+ /** |
+ * Set the package resolver provider used to override the way package URI's |
+ * are resolved in some contexts. The provider should return `null` if the |
+ * default package resolution scheme should be used instead. |
+ */ |
+ void set packageResolverProvider(ResolverProvider provider); |
+ |
+ /** |
+ * Set the [plugins] that are defined outside the analyzer_cli package. |
+ */ |
+ void set userDefinedPlugins(List<Plugin> plugins); |
+ |
+ /** |
+ * Use the given command-line [arguments] to start this analyzer. |
+ */ |
+ void start(List<String> arguments); |
+} |