Index: sdk/lib/_internal/pub_generated/lib/src/command/run.dart |
diff --git a/sdk/lib/_internal/pub_generated/lib/src/command/run.dart b/sdk/lib/_internal/pub_generated/lib/src/command/run.dart |
index 0cb0064b727f2b45594fe11c6c8bf4311b9dd246..23e7d096b506f1ba6b4533f8edb8260ddf8b5f14 100644 |
--- a/sdk/lib/_internal/pub_generated/lib/src/command/run.dart |
+++ b/sdk/lib/_internal/pub_generated/lib/src/command/run.dart |
@@ -1,5 +1,6 @@ |
library pub.command.run; |
import 'dart:async'; |
+import 'package:barback/barback.dart'; |
import 'package:path/path.dart' as p; |
import '../command.dart'; |
import '../executable.dart'; |
@@ -12,6 +13,12 @@ class RunCommand extends PubCommand { |
"Run an executable from a package.\n" |
"NOTE: We are currently optimizing this command's startup time."; |
String get usage => "pub run <executable> [args...]"; |
+ RunCommand() { |
+ commandParser.addOption( |
+ "mode", |
+ help: 'Mode to run transformers in.\n' |
+ '(defaults to "release" for dependencies, "debug" for entrypoint)'); |
+ } |
Future onRun() { |
final completer0 = new Completer(); |
scheduleMicrotask(() { |
@@ -21,39 +28,62 @@ class RunCommand extends PubCommand { |
var executable = commandOptions.rest[0]; |
var args = commandOptions.rest.skip(1).toList(); |
join1() { |
- runExecutable(entrypoint, package, executable, args).then((x0) { |
- try { |
- var exitCode = x0; |
- flushThenExit(exitCode).then((x1) { |
- try { |
- x1; |
- completer0.complete(null); |
- } catch (e1) { |
- completer0.completeError(e1); |
- } |
- }, onError: (e2) { |
- completer0.completeError(e2); |
- }); |
- } catch (e0) { |
- completer0.completeError(e0); |
+ var mode; |
+ join2() { |
+ runExecutable( |
+ entrypoint, |
+ package, |
+ executable, |
+ args, |
+ mode: mode).then((x0) { |
+ try { |
+ var exitCode = x0; |
+ flushThenExit(exitCode).then((x1) { |
+ try { |
+ x1; |
+ completer0.complete(null); |
+ } catch (e1) { |
+ completer0.completeError(e1); |
+ } |
+ }, onError: (e2) { |
+ completer0.completeError(e2); |
+ }); |
+ } catch (e0) { |
+ completer0.completeError(e0); |
+ } |
+ }, onError: (e3) { |
+ completer0.completeError(e3); |
+ }); |
+ } |
+ if (commandOptions['mode'] != null) { |
+ mode = new BarbackMode(commandOptions['mode']); |
+ join2(); |
+ } else { |
+ join3() { |
+ join2(); |
} |
- }, onError: (e3) { |
- completer0.completeError(e3); |
- }); |
+ if (package == entrypoint.root.name) { |
+ mode = BarbackMode.DEBUG; |
+ join3(); |
+ } else { |
+ mode = BarbackMode.RELEASE; |
+ join3(); |
+ } |
+ } |
} |
if (executable.contains(":")) { |
var components = split1(executable, ":"); |
package = components[0]; |
executable = components[1]; |
- join2() { |
+ join4() { |
join1(); |
} |
if (p.split(executable).length > 1) { |
usageError( |
"Cannot run an executable in a subdirectory of a " + "dependency."); |
- join2(); |
+ join4(); |
} else { |
- join2(); |
+ join4(); |
} |
} else { |
join1(); |