public async Task <BlazorPackage> Locate(string name) { using (var operation = Log.OnEnterAndExit()) { var dotnet = new Dotnet(_packagesDirectory); var toolNames = await dotnet.ToolList(_packagesDirectory); if (toolNames.Contains(name)) { operation.Info($"Checking tool {name}"); var result = await CommandLine.Execute(Path.Combine(_packagesDirectory.FullName, name), "locate-projects"); var directory = new DirectoryInfo(result.Output.First()); if (directory.Exists) { var runnerSubDirectory = directory.GetDirectories("runner-*").FirstOrDefault(); if (runnerSubDirectory?.Exists ?? false) { var path = Path.Combine(runnerSubDirectory.FullName, "MLS.Blazor"); var package = new BlazorPackage(runnerSubDirectory.Name, null, new DirectoryInfo(path)); if (package.BlazorEntryPointAssemblyPath.Exists) { return(package); } } } } } return(null); }
private static void SetupMappingsForBlazorContentsOfPackage(BlazorPackage package, IApplicationBuilder builder) { builder.Map(package.CodeRunnerPath, appBuilder => { var blazorEntryPoint = package.BlazorEntryPointAssemblyPath; appBuilder.UsePathBase(package.CodeRunnerPathBase); appBuilder.UseClientSideBlazorFiles(blazorEntryPoint.FullName); }); }
private static bool PackageHasBeenBuiltAndHasBlazorStuff(BlazorPackage package) { return(package.BlazorEntryPointAssemblyPath.Exists); }