Update Razor SDK packing logic to not include Pack at properties layer.
- Added test to verify that no-build scenarios work as expected. #2378
This commit is contained in:
parent
ca2d5738d6
commit
2d5a1737a2
|
|
@ -67,10 +67,7 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup Condition="'$(EnableDefaultItems)' == 'true' And '$(EnableDefaultContentItems)' == 'true'">
|
<ItemGroup Condition="'$(EnableDefaultItems)' == 'true' And '$(EnableDefaultContentItems)' == 'true'">
|
||||||
<Content Include="**\*.cshtml" CopyToPublishDirectory="PreserveNewest" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);$(DefaultWebContentItemExcludes)">
|
<Content Include="**\*.cshtml" CopyToPublishDirectory="PreserveNewest" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder);$(DefaultWebContentItemExcludes)" />
|
||||||
<Pack>$(IncludeRazorContentInPack)</Pack>
|
|
||||||
</Content>
|
|
||||||
|
|
||||||
<None Remove="**\*.cshtml" />
|
<None Remove="**\*.cshtml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -74,6 +74,11 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
ResolveRazorGenerateInputs
|
ResolveRazorGenerateInputs
|
||||||
</PrepareForBuildDependsOn>
|
</PrepareForBuildDependsOn>
|
||||||
|
|
||||||
|
<GenerateNuspecDependsOn>
|
||||||
|
ResolveRazorGenerateInputs;
|
||||||
|
$(GenerateNuspecDependsOn)
|
||||||
|
</GenerateNuspecDependsOn>
|
||||||
|
|
||||||
<PrepareForRunDependsOn>
|
<PrepareForRunDependsOn>
|
||||||
_RazorPrepareForRun;
|
_RazorPrepareForRun;
|
||||||
$(PrepareForRunDependsOn)
|
$(PrepareForRunDependsOn)
|
||||||
|
|
@ -326,6 +331,13 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
|
||||||
<Content Condition="'%(Content.Extension)'=='.cshtml'" CopyToPublishDirectory="Never" />
|
<Content Condition="'%(Content.Extension)'=='.cshtml'" CopyToPublishDirectory="Never" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup Condition="
|
||||||
|
'$(ResolvedRazorCompileToolset)'=='RazorSdk' and
|
||||||
|
'$(EnableDefaultRazorGenerateItems)'=='true'">
|
||||||
|
|
||||||
|
<Content Condition="'%(Content.Extension)'=='.cshtml'" Pack="$(IncludeRazorContentInPack)" />
|
||||||
|
</ItemGroup>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="AssignRazorGenerateTargetPaths" Condition="'@(RazorGenerate)' != ''">
|
<Target Name="AssignRazorGenerateTargetPaths" Condition="'@(RazorGenerate)' != ''">
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,46 @@ namespace Microsoft.AspNetCore.Razor.Design.IntegrationTests
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
[InitializeTestProject("ClassLibrary")]
|
||||||
|
public async Task Pack__NoBuild_Works_IncludesRazorAssembly()
|
||||||
|
{
|
||||||
|
var result = await DotnetMSBuild("Build");
|
||||||
|
Assert.BuildPassed(result);
|
||||||
|
|
||||||
|
result = await DotnetMSBuild("Pack", "/p:NoBuild=true");
|
||||||
|
Assert.BuildPassed(result);
|
||||||
|
|
||||||
|
Assert.FileExists(result, OutputPath, "ClassLibrary.dll");
|
||||||
|
Assert.FileExists(result, OutputPath, "ClassLibrary.Views.dll");
|
||||||
|
|
||||||
|
if (!RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
|
||||||
|
{
|
||||||
|
// Travis on OSX produces different full paths in C# and MSBuild
|
||||||
|
Assert.NuspecContains(
|
||||||
|
result,
|
||||||
|
Path.Combine("obj", Configuration, "ClassLibrary.1.0.0.nuspec"),
|
||||||
|
$"<file src=\"{Path.Combine(Project.DirectoryPath, "bin", Configuration, "netstandard2.0", "ClassLibrary.Views.dll")}\" " +
|
||||||
|
$"target=\"{Path.Combine("lib", "netstandard2.0", "ClassLibrary.Views.dll")}\" />");
|
||||||
|
|
||||||
|
Assert.NuspecDoesNotContain(
|
||||||
|
result,
|
||||||
|
Path.Combine("obj", Configuration, "ClassLibrary.1.0.0.nuspec"),
|
||||||
|
$"<file src=\"{Path.Combine(Project.DirectoryPath, "bin", Configuration, "netstandard2.0", "ClassLibrary.Views.pdb")}\" " +
|
||||||
|
$"target=\"{Path.Combine("lib", "netstandard2.0", "ClassLibrary.Views.pdb")}\" />");
|
||||||
|
}
|
||||||
|
|
||||||
|
Assert.NuspecDoesNotContain(
|
||||||
|
result,
|
||||||
|
Path.Combine("obj", Configuration, "ClassLibrary.1.0.0.nuspec"),
|
||||||
|
@"<files include=""any/netstandard2.0/Views/Shared/_Layout.cshtml"" buildAction=""Content"" />");
|
||||||
|
|
||||||
|
Assert.NupkgContains(
|
||||||
|
result,
|
||||||
|
Path.Combine("bin", Configuration, "ClassLibrary.1.0.0.nupkg"),
|
||||||
|
Path.Combine("lib", "netstandard2.0", "ClassLibrary.Views.dll"));
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
[InitializeTestProject("ClassLibrary")]
|
[InitializeTestProject("ClassLibrary")]
|
||||||
public async Task Pack_Works_IncludesRazorAssembly()
|
public async Task Pack_Works_IncludesRazorAssembly()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue