Pass list of embedded resources candidate assemblies via temp file in intermediate dir. Fixes #554
This commit is contained in:
parent
ce8088f9a3
commit
2f792cf53b
|
|
@ -2,6 +2,7 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using Microsoft.Extensions.CommandLineUtils;
|
||||
|
||||
namespace Microsoft.AspNetCore.Blazor.Build.Cli.Commands
|
||||
|
|
@ -18,9 +19,9 @@ namespace Microsoft.AspNetCore.Blazor.Build.Cli.Commands
|
|||
"The path from the _bin folder to a given referenced dll file (typically just the dll name)",
|
||||
CommandOptionType.MultipleValue);
|
||||
|
||||
var embeddedResourcesSources = command.Option("--embedded-resources-source",
|
||||
"The path to an assembly that may contain embedded resources (typically a referenced assembly in its pre-linked state)",
|
||||
CommandOptionType.MultipleValue);
|
||||
var embeddedResourcesFile = command.Option("--embedded-resources",
|
||||
"The path to a file that lists the paths of .NET assemblies that may contain embedded resources (typically, referenced assemblies in their pre-linked states)",
|
||||
CommandOptionType.SingleValue);
|
||||
|
||||
var outputPath = command.Option("--output",
|
||||
"Path to the output file",
|
||||
|
|
@ -44,11 +45,15 @@ namespace Microsoft.AspNetCore.Blazor.Build.Cli.Commands
|
|||
|
||||
try
|
||||
{
|
||||
var embeddedResourcesSources = embeddedResourcesFile.HasValue()
|
||||
? File.ReadAllLines(embeddedResourcesFile.Value())
|
||||
: Array.Empty<string>();
|
||||
|
||||
IndexHtmlWriter.UpdateIndex(
|
||||
clientPage.Value(),
|
||||
mainAssemblyPath.Value,
|
||||
references.Values.ToArray(),
|
||||
embeddedResourcesSources.Values.ToArray(),
|
||||
embeddedResourcesSources,
|
||||
linkerEnabledFlag.HasValue(),
|
||||
outputPath.Value());
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -236,6 +236,9 @@
|
|||
<!-- /obj/<<configuration>>/<<targetframework>>/blazor/inputs.index.cache -->
|
||||
<BlazorBuildIndexInputsCache>$(BlazorIntermediateOutputPath)inputs.index.cache</BlazorBuildIndexInputsCache>
|
||||
|
||||
<!-- /obj/<<configuration>>/<<targetframework>>/blazor/embedded.resources.txt -->
|
||||
<BlazorEmbeddedResourcesConfigFilePath>$(BlazorIntermediateOutputPath)embedded.resources.txt</BlazorEmbeddedResourcesConfigFilePath>
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Label="Final output paths">
|
||||
|
|
@ -597,9 +600,16 @@
|
|||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<_LinkerEnabledFlag Condition="'$(_BlazorShouldLinkApplicationAssemblies)' != ''">--linker-enabled</_LinkerEnabledFlag>
|
||||
<_EmbeddedResourcesArg Condition="'@(_UnlinkedAppReferencesPaths)' != ''">--embedded-resources "$(BlazorEmbeddedResourcesConfigFilePath)"</_EmbeddedResourcesArg>
|
||||
</PropertyGroup>
|
||||
|
||||
<Exec Command="$(BlazorBuildExe) build @(IntermediateAssembly) --html-page "$(BlazorIndexHtml)" @(_AppReferences->'--reference "%(Identity)"', ' ') @(_UnlinkedAppReferencesPaths->'--embedded-resources-source "%(Identity)"', ' ') $(_LinkerEnabledFlag) --output "$(BlazorIndexHtmlOutputPath)"" />
|
||||
<WriteLinesToFile
|
||||
Condition="'@(_UnlinkedAppReferencesPaths)' != ''"
|
||||
File="$(BlazorEmbeddedResourcesConfigFilePath)"
|
||||
Lines="@(_UnlinkedAppReferencesPaths)"
|
||||
Overwrite="true" />
|
||||
|
||||
<Exec Command="$(BlazorBuildExe) build @(IntermediateAssembly) --html-page "$(BlazorIndexHtml)" @(_AppReferences->'--reference "%(Identity)"', ' ') $(_EmbeddedResourcesArg) $(_LinkerEnabledFlag) --output "$(BlazorIndexHtmlOutputPath)"" />
|
||||
|
||||
<ItemGroup Condition="Exists('$(BlazorIndexHtmlOutputPath)')">
|
||||
<_BlazorIndex Include="$(BlazorIndexHtmlOutputPath)" />
|
||||
|
|
|
|||
Loading…
Reference in New Issue