Simplify building Microsoft.AspNetCore.Razor.Design
This commit is contained in:
parent
b956aa0c80
commit
a6a5e4ea10
|
|
@ -1,14 +1,12 @@
|
||||||
<Project>
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<!-- Using explicit SDK imports here because the default way conflicts with the AfterBuild target -->
|
|
||||||
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
|
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Description>Razor is a markup syntax for adding server-side logic to web pages. This package contains MSBuild support for Razor.</Description>
|
<Description>Razor is a markup syntax for adding server-side logic to web pages. This package contains MSBuild support for Razor.</Description>
|
||||||
<TargetFramework>netstandard2.0</TargetFramework>
|
<TargetFrameworks>netcoreapp2.0;net46</TargetFrameworks>
|
||||||
|
|
||||||
<!-- This project doesn't have any code, so don't include it in the .nupkg -->
|
<!-- This project doesn't have any code, so don't include it in the .nupkg -->
|
||||||
<IncludeBuildOutput>false</IncludeBuildOutput>
|
<IncludeBuildOutput>false</IncludeBuildOutput>
|
||||||
|
<EnableDefaultItems>false</EnableDefaultItems>
|
||||||
|
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||||
|
|
||||||
<NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile>
|
<NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
@ -20,84 +18,27 @@
|
||||||
We then need to include the output of those projects in our output directory (where it will be used
|
We then need to include the output of those projects in our output directory (where it will be used
|
||||||
by tests) and in the nukpg.
|
by tests) and in the nukpg.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- This is the tasks project that needs to be included in the package. -->
|
|
||||||
<ItemGroup>
|
|
||||||
<TaskProject Include="..\Microsoft.AspNetCore.Razor.Tasks\Microsoft.AspNetCore.Razor.Tasks.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<!-- These are tools that need to be included in the package. -->
|
<!-- These are tools that need to be included in the package. -->
|
||||||
<ItemGroup>
|
|
||||||
<ToolProject Include="..\Microsoft.AspNetCore.Razor.Tools\Microsoft.AspNetCore.Razor.Tools.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<!-- Using explicit SDK imports here because the default way conflicts with the AfterBuild target -->
|
|
||||||
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
|
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<GenerateNuspecDependsOn>_BuildDependencyProjects;$(GenerateNuspecDependsOn)</GenerateNuspecDependsOn>
|
<ToolProject>..\Microsoft.AspNetCore.Razor.Tools\Microsoft.AspNetCore.Razor.Tools.csproj</ToolProject>
|
||||||
<BuildDependsOn>_BuildDependencyProjects;$(BuildDependsOn)</BuildDependsOn>
|
<TaskProject>Microsoft.AspNetCore.Razor.Tasks</TaskProject>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Target Name="_BuildDependencyProjects">
|
<ItemGroup>
|
||||||
<!--
|
<ProjectReference Include="..\$(TaskProject)\$(TaskProject).csproj" ReferenceOutputAssembly="false" />
|
||||||
The Microsoft.AspNetCore.Razor.Tasks package needs to support both net46 and netstandard2.0 for desktop vs
|
<ProjectReference Include="$(ToolProject)" ReferenceOutputAssembly="false" Condition="'$(TargetFramework)'=='netcoreapp2.0'" />
|
||||||
coreclr MSBuild - so we have to build it twice.
|
</ItemGroup>
|
||||||
|
|
||||||
We're careful here to avoid setting properties when building the other projects. This can create problems
|
<Target Name="PopulateNuspec" BeforeTargets="GenerateNuspec">
|
||||||
with concurrency.
|
|
||||||
|
|
||||||
First, build the project, then copy it to the ouput directory, then add it as packable content.
|
|
||||||
-->
|
|
||||||
<MSBuild Projects="@(TaskProject)" />
|
|
||||||
|
|
||||||
<MSBuild Projects="@(TaskProject)" Properties="TargetFramework=net46" Targets="BuiltProjectOutputGroup">
|
|
||||||
<Output TaskParameter="TargetOutputs" ItemName="TaskAssemblyNet46" />
|
|
||||||
</MSBuild>
|
|
||||||
|
|
||||||
<MSBuild Projects="@(TaskProject)" Properties="TargetFramework=net46" Targets="DebugSymbolsProjectOutputGroup">
|
|
||||||
<Output TaskParameter="TargetOutputs" ItemName="TaskSymbolNet46" />
|
|
||||||
</MSBuild>
|
|
||||||
|
|
||||||
<MSBuild Projects="@(TaskProject)" Properties="TargetFramework=netstandard2.0" Targets="BuiltProjectOutputGroup">
|
|
||||||
<Output TaskParameter="TargetOutputs" ItemName="TaskAssemblyNetStandard" />
|
|
||||||
</MSBuild>
|
|
||||||
|
|
||||||
<MSBuild Projects="@(TaskProject)" Properties="TargetFramework=netstandard2.0" Targets="DebugSymbolsProjectOutputGroup">
|
|
||||||
<Output TaskParameter="TargetOutputs" ItemName="TaskSymbolNetStandard" />
|
|
||||||
</MSBuild>
|
|
||||||
|
|
||||||
<Copy SourceFiles="@(TaskAssemblyNet46)" DestinationFolder="$(OutputPath)\tasks\net46\">
|
|
||||||
<Output TaskParameter="CopiedFiles" ItemName="FileWrites" />
|
|
||||||
</Copy>
|
|
||||||
<Copy SourceFiles="@(TaskAssemblyNetStandard)" DestinationFolder="$(OutputPath)\tasks\netstandard2.0\">
|
|
||||||
<Output TaskParameter="CopiedFiles" ItemName="FileWrites" />
|
|
||||||
</Copy>
|
|
||||||
|
|
||||||
<Error Text="TaskAssemblyNet46 is empty. This is a bug" Condition="'@(TaskAssemblyNet46)'==''" />
|
|
||||||
<Error Text="TaskAssemblyNetStandard is empty. This is a bug" Condition="'@(TaskAssemblyNetStandard)'==''" />
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Next we need to build the netcoreapp2.0 tools. In this case we need to do a publish, because we need
|
|
||||||
all of the output to put in the package.
|
|
||||||
-->
|
|
||||||
<RemoveDir Directories="tools\" />
|
|
||||||
<MSBuild Projects="@(ToolProject)" />
|
|
||||||
<MSBuild Projects="@(ToolProject)" Properties="PublishDir=$(MSBuildProjectDirectory)\$(OutputPath)tools\" Targets="Publish" />
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<_RazorTool Include="$(OutputPath)tools\**\*" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<Error Text="_RazorTool is empty. This is a bug" Condition="'@(_RazorTool)'==''" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
<Target Name="PopulateNuspec" BeforeTargets="GenerateNuspec" DependsOnTargets="BuiltProjectOutputGroup;DebugSymbolsProjectOutputGroup;_BuildDependencyProjects">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Make sure we create a symbols.nupkg. -->
|
<!-- Make sure we create a symbols.nupkg. -->
|
||||||
<IncludeSymbols>true</IncludeSymbols>
|
<IncludeSymbols>true</IncludeSymbols>
|
||||||
|
|
||||||
|
<!-- RepositoryCommit is only available when "build" runs, but not during dotnet pack -->
|
||||||
|
<RepositoryCommit Condition="'$(RepositoryCommit)' == ''">unknown</RepositoryCommit>
|
||||||
|
|
||||||
<NuspecProperties>
|
<NuspecProperties>
|
||||||
id=$(PackageId);
|
id=$(PackageId);
|
||||||
version=$(PackageVersion);
|
version=$(PackageVersion);
|
||||||
|
|
@ -112,14 +53,26 @@
|
||||||
copyright=$(Copyright);
|
copyright=$(Copyright);
|
||||||
|
|
||||||
<!-- Include the assembly and symbols from the tasks project -->
|
<!-- Include the assembly and symbols from the tasks project -->
|
||||||
TaskAssemblyNet46=@(TaskAssemblyNet46);
|
TaskAssemblyNet46=$(OutputPath)tasks\net46\$(TaskProject).dll;
|
||||||
TaskSymbolNet46=@(TaskSymbolNet46);
|
TaskSymbolNet46=$(OutputPath)tasks\net46\$(TaskProject).pdb;
|
||||||
TaskAssemblyNetStandard=@(TaskAssemblyNetStandard);
|
TaskAssemblyNetStandard=$(OutputPath)tasks\netstandard2.0\$(TaskProject).dll;
|
||||||
TaskSymbolNetStandard=@(TaskSymbolNetStandard);
|
TaskSymbolNetStandard=$(OutputPath)tasks\netstandard2.0\$(TaskProject).pdb;
|
||||||
|
|
||||||
<!-- Include the assembly and symbols from the tools project -->
|
<!-- Include the assembly and symbols from the tools project -->
|
||||||
ToolAssembly=$(OutputPath)tools\**\*;
|
ToolFiles=$(OutputPath)tools\**\*;
|
||||||
</NuspecProperties>
|
</NuspecProperties>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
<Target Name="LayoutDependencies" AfterTargets="Build" BeforeTargets="PopulateNuspec" Condition="'$(IsInnerBuild)'!='true'">
|
||||||
|
<RemoveDir Directories="$(OutputPath)tools\" />
|
||||||
|
<MSBuild Projects="$(ToolProject)" Properties="PublishDir=$(MSBuildProjectDirectory)\$(OutputPath)tools\;TargetFramework=netcoreapp2.0" Targets="Publish" />
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<_RazorTool Include="$(OutputPath)tools\**\*" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<Error Text="_RazorTool is empty. This is a bug" Condition="'@(_RazorTool)'==''" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,6 @@
|
||||||
<file src="$TaskSymbolNet46$" target="tasks\net46\" />
|
<file src="$TaskSymbolNet46$" target="tasks\net46\" />
|
||||||
<file src="$TaskAssemblyNetStandard$" target="tasks\netstandard2.0\" />
|
<file src="$TaskAssemblyNetStandard$" target="tasks\netstandard2.0\" />
|
||||||
<file src="$TaskSymbolNetStandard$" target="tasks\netstandard2.0\" />
|
<file src="$TaskSymbolNetStandard$" target="tasks\netstandard2.0\" />
|
||||||
<file src="$ToolAssembly$" target="tools\" exclude="**\*.xml" />
|
<file src="$ToolFiles$" target="tools\" exclude="**\*.xml" />
|
||||||
</files>
|
</files>
|
||||||
</package>
|
</package>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@
|
||||||
<!-- This is not a package, it is part of Microsoft.AspNetCore.Razor.Design. -->
|
<!-- This is not a package, it is part of Microsoft.AspNetCore.Razor.Design. -->
|
||||||
<IsPackable>false</IsPackable>
|
<IsPackable>false</IsPackable>
|
||||||
<EnableApiCheck>false</EnableApiCheck>
|
<EnableApiCheck>false</EnableApiCheck>
|
||||||
|
|
||||||
|
<OutputPath>..\Microsoft.AspNetCore.Razor.Design\bin\$(Configuration)\tasks\</OutputPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_RazorMSBuildRoot>$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\bin\$(Configuration)\netstandard2.0\</_RazorMSBuildRoot>
|
<_RazorMSBuildRoot>$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\bin\$(Configuration)\</_RazorMSBuildRoot>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.props" />
|
<Import Project="$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.props" />
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_RazorMSBuildRoot>$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\bin\$(Configuration)\netstandard2.0\</_RazorMSBuildRoot>
|
<_RazorMSBuildRoot>$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\bin\$(Configuration)\</_RazorMSBuildRoot>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Import Project="$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.props" />
|
<Import Project="$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.props" />
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_RazorMSBuildRoot>$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\bin\$(Configuration)\netstandard2.0\</_RazorMSBuildRoot>
|
<_RazorMSBuildRoot>$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\bin\$(Configuration)\</_RazorMSBuildRoot>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Import Project="$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.props" />
|
<Import Project="$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.props" />
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_RazorMSBuildRoot>$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\bin\$(Configuration)\netstandard2.0\</_RazorMSBuildRoot>
|
<_RazorMSBuildRoot>$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\bin\$(Configuration)\</_RazorMSBuildRoot>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Import Project="$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.props" />
|
<Import Project="$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.props" />
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_RazorMSBuildRoot>$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\bin\$(Configuration)\netstandard2.0\</_RazorMSBuildRoot>
|
<_RazorMSBuildRoot>$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\bin\$(Configuration)\</_RazorMSBuildRoot>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Import Project="$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.props" />
|
<Import Project="$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.props" />
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_RazorMSBuildRoot>$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\bin\$(Configuration)\netstandard2.0\</_RazorMSBuildRoot>
|
<_RazorMSBuildRoot>$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\bin\$(Configuration)\</_RazorMSBuildRoot>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Import Project="$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.props" />
|
<Import Project="$(SolutionRoot)src\Microsoft.AspNetCore.Razor.Design\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.props" />
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue