Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -961,13 +961,24 @@ Copyright (c) .NET Foundation. All rights reserved.
</PropertyGroup>
</Target>

<!-- Publish starts here -->
<!-- Publish targets and output directory messages start here -->

<!-- Make sure that ResolveAssemblyReferences runs early enough to ensure satellite assemblies are populated in the ResolvedFilesToPublish -->
<Target Name="_WasmPrepareForPublish"
DependsOnTargets="PrepareResourceNames;ComputeIntermediateSatelliteAssemblies;ResolveAssemblyReferences"
BeforeTargets="PrepareForPublish" />

<Target Name="_PrintWasmBrowserPublishOutputDirectory" AfterTargets="Publish" Condition="'$(WasmBuildingForNestedPublish)' != 'true'">
<Message Importance="High" Text="$(MSBuildProjectName) (wwwroot) -&gt; $([MSBuild]::NormalizeDirectory('$(PublishDir)', 'wwwroot'))" />
</Target>

<Target Name="_PrintWasmBrowserBuildOutputDirectory" AfterTargets="CopyFilesToOutputDirectory" Condition="'$(WasmBuildingForNestedPublish)' != 'true'">
Comment thread
maraf marked this conversation as resolved.
<Message
Importance="High"
Text="$(MSBuildProjectName) (wwwroot) -&gt; $([MSBuild]::NormalizeDirectory('$(TargetDir)', 'wwwroot'))"
Condition="'$(CopyBuildOutputToOutputDirectory)' == 'true' and '$(SkipCopyBuildProduct)' != 'true'" />
</Target>

<!-- Wasm's Nested publish is run just to build the native bits. We don't need to run blazor targets for that -->
<Target Name="ProcessPublishFilesForWasm" DependsOnTargets="_ResolveWasmConfiguration;LoadStaticWebAssetsBuildManifest;_GatherWasmFilesToPublish" AfterTargets="ILLink" Condition="'$(WasmBuildingForNestedPublish)' != 'true'">
<!-- The list of static web assets already contains all the assets from the build. We want to correct certain assets that might
Expand Down
30 changes: 30 additions & 0 deletions src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,36 @@ public void BrowserBuildThenPublish(Configuration config)
PublishProject(info, config, new PublishOptions(UseCache: false));
}

[Theory, TestCategory("no-fingerprinting"), TestCategory("workload")]
[InlineData(Configuration.Debug)]
[InlineData(Configuration.Release)]
public void BrowserBuildAndPublishOutputDirectories(Configuration config)
{
ProjectInfo info = CreateWasmTemplateProject(Template.WasmBrowser, config, aot: false, "output_directory");
(string projectDir, string buildOutput) = BuildProject(info, config);

string buildOutputDirectory = Path.Combine(
projectDir,
"bin",
config.ToString(),
DefaultTargetFramework,
"wwwroot") + Path.DirectorySeparatorChar;
string buildMessage = $"{info.ProjectName} (wwwroot) -> {buildOutputDirectory}";
Assert.Equal(1, buildOutput.Split(buildMessage).Length - 1);

(_, string publishOutput) = PublishProject(info, config, new PublishOptions(UseCache: false));

string publishOutputDirectory = Path.Combine(
projectDir,
"bin",
config.ToString(),
DefaultTargetFramework,
"publish",
"wwwroot") + Path.DirectorySeparatorChar;
string publishMessage = $"{info.ProjectName} (wwwroot) -> {publishOutputDirectory}";
Assert.Equal(1, publishOutput.Split(publishMessage).Length - 1);
}

public static TheoryData<bool, string> TestDataForAppBundleDir()
{
var data = new TheoryData<bool, string>();
Expand Down