using Microsoft.Extensions.CommandLineUtils for blazor-cli

This commit is contained in:
Meir Blachman 2018-10-05 10:03:31 +03:00 committed by Ryan Nowak
parent fb6427a46a
commit dd807a6d70
3 changed files with 37 additions and 13 deletions

View File

@ -0,0 +1,21 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.CommandLineUtils;
using System;
using System.Diagnostics;
using System.Text.RegularExpressions;
namespace Microsoft.AspNetCore.Blazor.Cli.Commands
{
class ServeCommand
{
public static void Command(CommandLineApplication command)
{
var remainingArgs = command.RemainingArguments.ToArray();
Server.Program.BuildWebHost(remainingArgs).Run();
}
}
}

View File

@ -11,6 +11,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.CommandLineUtils" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore" Version="$(AspNetCorePackageVersion)" /> <PackageReference Include="Microsoft.AspNetCore" Version="$(AspNetCorePackageVersion)" />
<PackageReference Include="Microsoft.AspNetCore.ResponseCompression" Version="$(AspNetCorePackageVersion)" /> <PackageReference Include="Microsoft.AspNetCore.ResponseCompression" Version="$(AspNetCorePackageVersion)" />
</ItemGroup> </ItemGroup>

View File

@ -4,6 +4,8 @@
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using System; using System;
using System.Linq; using System.Linq;
using Microsoft.Extensions.CommandLineUtils;
using Microsoft.AspNetCore.Blazor.Cli.Commands;
namespace Microsoft.AspNetCore.Blazor.Cli namespace Microsoft.AspNetCore.Blazor.Cli
{ {
@ -11,22 +13,22 @@ namespace Microsoft.AspNetCore.Blazor.Cli
{ {
static int Main(string[] args) static int Main(string[] args)
{ {
if (args.Length == 0) var app = new CommandLineApplication
{ {
Console.WriteLine("Usage: dotnet blazor <command>"); Name = "blazor-cli"
return 1; };
app.HelpOption("-?|-h|--help");
app.Command("serve", ServeCommand.Command);
if (args.Length > 0)
{
return app.Execute(args);
} }
else
var command = args[0];
var remainingArgs = args.Skip(1).ToArray();
switch (command.ToLowerInvariant())
{ {
case "serve": app.ShowHelp();
Server.Program.BuildWebHost(remainingArgs).Run(); return 0;
return 0;
default:
throw new InvalidOperationException($"Unknown command: {command}");
} }
} }
} }