From 7e6a68b4c60d16bb68c62c5a03b1cb4139d941fb Mon Sep 17 00:00:00 2001 From: Kevin Moore Date: Mon, 9 Apr 2018 11:23:55 -0700 Subject: [PATCH 1/2] Rename BuildRunnerCommandBase -> CommandBase --- webdev/lib/src/command/build_command.dart | 4 ++-- .../{build_runner_command_base.dart => command_base.dart} | 4 ++-- webdev/lib/src/command/serve_command.dart | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) rename webdev/lib/src/command/{build_runner_command_base.dart => command_base.dart} (97%) diff --git a/webdev/lib/src/command/build_command.dart b/webdev/lib/src/command/build_command.dart index 822211b95..1d1c64fdd 100644 --- a/webdev/lib/src/command/build_command.dart +++ b/webdev/lib/src/command/build_command.dart @@ -3,10 +3,10 @@ // BSD-style license that can be found in the LICENSE file. import 'dart:async'; -import 'build_runner_command_base.dart'; +import 'command_base.dart'; /// Command to execute pub run build_runner build. -class BuildCommand extends BuildRunnerCommandBase { +class BuildCommand extends CommandBase { BuildCommand() : super(releaseDefault: true); @override diff --git a/webdev/lib/src/command/build_runner_command_base.dart b/webdev/lib/src/command/command_base.dart similarity index 97% rename from webdev/lib/src/command/build_runner_command_base.dart rename to webdev/lib/src/command/command_base.dart index fe7adc399..ead60cf7e 100644 --- a/webdev/lib/src/command/build_runner_command_base.dart +++ b/webdev/lib/src/command/command_base.dart @@ -19,10 +19,10 @@ const _verbose = 'verbose'; /// Extend to get a command with the arguments common to all build_runner /// commands. -abstract class BuildRunnerCommandBase extends Command { +abstract class CommandBase extends Command { final bool releaseDefault; - BuildRunnerCommandBase({@required this.releaseDefault}) { + CommandBase({@required this.releaseDefault}) { // TODO(nshahan) Expose more common args passed to build_runner commands. // build_runner might expose args for use in wrapping scripts like this one. argParser diff --git a/webdev/lib/src/command/serve_command.dart b/webdev/lib/src/command/serve_command.dart index 142d2da87..f0f8bea40 100644 --- a/webdev/lib/src/command/serve_command.dart +++ b/webdev/lib/src/command/serve_command.dart @@ -4,10 +4,10 @@ import 'dart:async'; -import 'build_runner_command_base.dart'; +import 'command_base.dart'; /// Command to execute pub run build_runner serve. -class ServeCommand extends BuildRunnerCommandBase { +class ServeCommand extends CommandBase { @override final name = 'serve'; From c77fd15e05f64d322f7be2772a6093cab6354637 Mon Sep 17 00:00:00 2001 From: Kevin Moore Date: Mon, 9 Apr 2018 11:43:26 -0700 Subject: [PATCH 2/2] Correctly parse and pass on arguments to serve Fixes mistake in b3f435533255c5b3735aa2ac2b9458a6a9c9f1c9 --- webdev/lib/src/command/command_base.dart | 18 +++++++++++------- webdev/lib/src/command/serve_command.dart | 16 ++++++++++++++++ 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/webdev/lib/src/command/command_base.dart b/webdev/lib/src/command/command_base.dart index ead60cf7e..f5fd1a7ba 100644 --- a/webdev/lib/src/command/command_base.dart +++ b/webdev/lib/src/command/command_base.dart @@ -45,13 +45,8 @@ abstract class CommandBase extends Command { help: 'Enables verbose logging.'); } - Future runCore(String command) async { - await checkPubspecLock(); - - var buildRunnerScript = await _buildRunnerScript(); - - final arguments = [command]; - + List getArgs() { + var arguments = []; if ((argResults[_release] as bool) ?? releaseDefault) { arguments.add('--$_release'); } @@ -64,6 +59,15 @@ abstract class CommandBase extends Command { if (argResults[_verbose] as bool) { arguments.add('--$_verbose'); } + return arguments; + } + + Future runCore(String command) async { + await checkPubspecLock(); + + var buildRunnerScript = await _buildRunnerScript(); + + final arguments = [command]..addAll(getArgs()); var exitCode = 0; diff --git a/webdev/lib/src/command/serve_command.dart b/webdev/lib/src/command/serve_command.dart index f0f8bea40..116742f39 100644 --- a/webdev/lib/src/command/serve_command.dart +++ b/webdev/lib/src/command/serve_command.dart @@ -30,6 +30,22 @@ class ServeCommand extends CommandBase { help: 'Enables logging for each request to the server.'); } + @override + List getArgs() { + var arguments = super.getArgs(); + + var hostname = argResults['hostname'] as String; + if (hostname != null) { + arguments.addAll(['--hostname', hostname]); + } + + if (argResults['log-requests'] == true) { + arguments.add('--log-requests'); + } + + return arguments; + } + @override Future run() => runCore('serve'); }