<Project ToolsVersion="15.0" DefaultTargets="CopyTemplateToOutput"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.tasks))\dir.tasks" /> <Target Name="CopyTemplateToOutput" DependsOnTargets="PrepareBundledTemplateProps; EnsureTemplateRestored; GetTemplateItemsToCopy" Inputs="@(TemplateContent)" Outputs="@(TemplateContent->'$(TemplateLayoutDirectory)/%(RecursiveDir)%(FileName)%(Extension)')"> <Copy SourceFiles="@(TemplateContent)" DestinationFiles="@(TemplateContent->'$(TemplateLayoutDirectory)/%(RecursiveDir)%(FileName)%(Extension)')" /> <Message Text="Copied template $(TemplatePackageName) from $(TemplateNuPkgPath) to $(TemplateLayoutDirectory)." Importance="High" /> </Target> <Target Name="GetTemplateItemsToCopy"> <ItemGroup> <TemplateContent Include="$(TemplateNuPkgPath)/$(TemplatePackageName.ToLower()).$(TemplatePackageVersion.ToLower()).nupkg" /> </ItemGroup> </Target> <Target Name="EnsureTemplateRestored" Condition="!Exists('$(TemplateNuPkgPath)/$(TemplatePackageName.ToLower()).nuspec')"> <DotNetRestore ToolPath="$(Stage0Directory)" ProjectPath="$(MSBuildThisFileDirectory)/templates/templates.csproj" AdditionalParameters="/p:TemplatePackageName=$(TemplatePackageName) /p:TemplatePackageVersion=$(TemplatePackageVersion)" /> </Target> <Target Name="PrepareBundledTemplateProps"> <PropertyGroup> <TemplateNuPkgPath>$(NuGetPackagesDir)/$(TemplatePackageName.ToLower())/$(TemplatePackageVersion.ToLower())</TemplateNuPkgPath> </PropertyGroup> </Target> </Project>