From 9d21eda9c458cc513b7077b87bf6d1649a05a3d2 Mon Sep 17 00:00:00 2001 From: Steve Sanderson Date: Mon, 26 Feb 2018 17:37:00 +0000 Subject: [PATCH] Include "serve" command in dotnet-blazor tool --- .../Cli/Commands/ServeDevHost.cs | 22 +++++++++++++++++++ .../Cli/Program.cs | 3 ++- .../Microsoft.AspNetCore.Blazor.Build.csproj | 2 ++ .../targets/All.targets | 2 +- .../Server/Program.cs | 5 ++--- src/anglesharp/AngleSharpBuilder/Program.cs | 2 +- 6 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 src/Microsoft.AspNetCore.Blazor.Build/Cli/Commands/ServeDevHost.cs diff --git a/src/Microsoft.AspNetCore.Blazor.Build/Cli/Commands/ServeDevHost.cs b/src/Microsoft.AspNetCore.Blazor.Build/Cli/Commands/ServeDevHost.cs new file mode 100644 index 0000000000..793134bde1 --- /dev/null +++ b/src/Microsoft.AspNetCore.Blazor.Build/Cli/Commands/ServeDevHost.cs @@ -0,0 +1,22 @@ +// 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 System.Linq; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.CommandLineUtils; + +namespace Microsoft.AspNetCore.Blazor.Build.Cli.Commands +{ + internal class ServeDevHost + { + public static void Command(CommandLineApplication command, string[] args) + { + command.OnExecute(() => + { + var remainingArgs = args.Skip(1).ToArray(); + DevHost.Server.Program.BuildWebHost(remainingArgs).Run(); + return 0; + }); + } + } +} diff --git a/src/Microsoft.AspNetCore.Blazor.Build/Cli/Program.cs b/src/Microsoft.AspNetCore.Blazor.Build/Cli/Program.cs index 1b6c894f9a..23de20af48 100644 --- a/src/Microsoft.AspNetCore.Blazor.Build/Cli/Program.cs +++ b/src/Microsoft.AspNetCore.Blazor.Build/Cli/Program.cs @@ -12,12 +12,13 @@ namespace Microsoft.AspNetCore.Blazor.Build { var app = new CommandLineApplication { - Name = "dotnet-blazorbuild" + Name = "dotnet-blazor" }; app.HelpOption("-?|-h|--help"); app.Command("build", BuildCommand.Command); app.Command("buildrazor", BuildRazorCommand.Command); + app.Command("serve", command => ServeDevHost.Command(command, args)); if (args.Length > 0) { diff --git a/src/Microsoft.AspNetCore.Blazor.Build/Microsoft.AspNetCore.Blazor.Build.csproj b/src/Microsoft.AspNetCore.Blazor.Build/Microsoft.AspNetCore.Blazor.Build.csproj index 9548254768..970321f4bd 100644 --- a/src/Microsoft.AspNetCore.Blazor.Build/Microsoft.AspNetCore.Blazor.Build.csproj +++ b/src/Microsoft.AspNetCore.Blazor.Build/Microsoft.AspNetCore.Blazor.Build.csproj @@ -4,6 +4,7 @@ netcoreapp2.0 Exe tools + dotnet-blazor true @@ -21,6 +22,7 @@ + diff --git a/src/Microsoft.AspNetCore.Blazor.Build/targets/All.targets b/src/Microsoft.AspNetCore.Blazor.Build/targets/All.targets index 71a1e527cc..658bc9fb29 100644 --- a/src/Microsoft.AspNetCore.Blazor.Build/targets/All.targets +++ b/src/Microsoft.AspNetCore.Blazor.Build/targets/All.targets @@ -1,6 +1,6 @@ - dotnet "$(MSBuildThisFileDirectory)../tools/Microsoft.AspNetCore.Blazor.Build.dll" + dotnet "$(MSBuildThisFileDirectory)../tools/dotnet-blazor.dll" true diff --git a/src/Microsoft.AspNetCore.Blazor.DevHost/Server/Program.cs b/src/Microsoft.AspNetCore.Blazor.DevHost/Server/Program.cs index ad6df8cd0a..e90d9341e4 100644 --- a/src/Microsoft.AspNetCore.Blazor.DevHost/Server/Program.cs +++ b/src/Microsoft.AspNetCore.Blazor.DevHost/Server/Program.cs @@ -1,15 +1,14 @@ // 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; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; namespace Microsoft.AspNetCore.Blazor.DevHost.Server { - internal class Program + public class Program { - internal static IWebHost BuildWebHost(string[] args) => + public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseConfiguration(new ConfigurationBuilder() .AddCommandLine(args) diff --git a/src/anglesharp/AngleSharpBuilder/Program.cs b/src/anglesharp/AngleSharpBuilder/Program.cs index 2e2261030e..ae2fb3eb20 100644 --- a/src/anglesharp/AngleSharpBuilder/Program.cs +++ b/src/anglesharp/AngleSharpBuilder/Program.cs @@ -40,7 +40,7 @@ namespace AngleSharpBuilder var assemblyLocation = assembly.Location; var moduleDefinition = ModuleDefinition.ReadModule(assemblyLocation); - AddInternalsVisibleTo(moduleDefinition, "Microsoft.AspNetCore.Blazor.Build"); + AddInternalsVisibleTo(moduleDefinition, "dotnet-blazor"); AddInternalsVisibleTo(moduleDefinition, "Microsoft.AspNetCore.Blazor.Razor.Extensions"); RemoveStrongName(moduleDefinition); SetAssemblyName(moduleDefinition, "Microsoft.AspNetCore.Blazor.AngleSharp");