Skip to content

Commit 5496f1b

Browse files
author
Carl Healy
committed
Create NuGet package for Razor Build Task
1 parent 54974d7 commit 5496f1b

File tree

5 files changed

+82
-1
lines changed

5 files changed

+82
-1
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0"?>
2+
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3+
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
4+
<id>ServiceStack.Razor.BuildTask</id>
5+
<title>ServiceStack.Razor.BuildTask - MSBuild Task to compile Razor Views as a build-step</title>
6+
<version>4.0.0</version>
7+
<authors>Service Stack</authors>
8+
<owners>Service Stack</owners>
9+
<summary>MSBuild Task to generate and compile Service Stack Razor Views as a build-step, ready for instant use at run-time</summary>
10+
<description>
11+
TBD
12+
</description>
13+
<projectUrl>http://razor.servicestack.net</projectUrl>
14+
<licenseUrl>https://servicestack.net/terms</licenseUrl>
15+
<requireLicenseAcceptance>true</requireLicenseAcceptance>
16+
<iconUrl>https://servicestack.net/img/logo-32.png</iconUrl>
17+
<tags>Razor ViewEngine View Templates Controllers Mono ASP.NET Self-Host ServiceStack</tags>
18+
<language>en-US</language>
19+
<copyright>Copyright 2013 Service Stack</copyright>
20+
<dependencies>
21+
</dependencies>
22+
</metadata>
23+
<files>
24+
<file src="tools\**\*.*" target="tools" />
25+
<file src="..\..\src\ServiceStack.Razor.BuildTask\**\*.cs" target="src" />
26+
</files>
27+
</package>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
param($installPath, $toolsPath, $package, $project)
2+
3+
$targetsFileName = 'ServiceStack.Razor.BuildTask.targets';
4+
$targetsPath = [System.IO.Path]::Combine($toolsPath, $targetsFileName)
5+
6+
# Need to load MSBuild assembly if it's not loaded yet.
7+
Add-Type -AssemblyName 'Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
8+
9+
# Grab the loaded MSBuild project for the project
10+
$msbuild = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects($project.FullName) | Select-Object -First 1
11+
12+
# Make the path to the targets file relative.
13+
$projectUri = new-object Uri('file://' + $project.FullName)
14+
$targetUri = new-object Uri('file://' + $targetsPath)
15+
$relativePath = $projectUri.MakeRelativeUri($targetUri).ToString().Replace([System.IO.Path]::AltDirectorySeparatorChar, [System.IO.Path]::DirectorySeparatorChar)
16+
17+
# Remove previous imports to .targets
18+
$msbuild.Xml.Imports | Where-Object {$_.Project.ToLowerInvariant().EndsWith($targetsFileName.ToLowerInvariant()) } | Foreach {
19+
$_.Parent.RemoveChild( $_ )
20+
[string]::Format( "Removed import of '{0}'" , $_.Project )
21+
}
22+
23+
# Add the import and save the project
24+
$import = $msbuild.Xml.AddImport($relativePath)
25+
$import.set_Condition( "Exists('$relativePath')" ) | Out-Null
26+
[string]::Format("Added import of '{0}'.", $relativePath )
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
param($installPath, $toolsPath, $package, $project)
2+
3+
$targetsFileName = 'ServiceStack.Razor.BuildTask.targets';
4+
5+
# Need to load MSBuild assembly if it's not loaded yet.
6+
Add-Type -AssemblyName 'Microsoft.Build, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
7+
8+
# Grab the loaded MSBuild project for the project
9+
$msbuild = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects($project.FullName) | Select-Object -First 1
10+
11+
# Remove imports to .targets
12+
$msbuild.Xml.Imports | Where-Object {$_.Project.ToLowerInvariant().EndsWith($targetsFileName.ToLowerInvariant()) } | Foreach {
13+
$_.Parent.RemoveChild( $_ )
14+
[string]::Format( "Removed import of '{0}'" , $_.Project )
15+
}

build.cmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ if "%target%" == "NuGetPack" (
1212
)
1313
)
1414

15-
%WINDIR%\Microsoft.NET\Framework\v4.0.30319\msbuild Build\Build.msbuild /target:%target% /v:M /fl /flp:LogFile=msbuild.log;Verbosity=Normal /nr:false
15+
%WINDIR%\Microsoft.NET\Framework\v4.0.30319\msbuild Build\Build.proj /target:%target% /v:M /fl /flp:LogFile=msbuild.log;Verbosity=Normal /nr:false

build/build.proj

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,8 @@
106106

107107
<RazorFilesV4 Include="$(SrcDir)/ServiceStack.RazorV4/bin/$(Configuration)/ServiceStack.Razor.*"></RazorFilesV4>
108108
<RazorFilesV4 Include="$(BuildSolutionDir)/lib/net40/System.Web.Razor.Unofficial.dll"></RazorFilesV4>
109+
110+
<RazorBuildTaskFiles Include="$(SrcDir)/ServiceStack.Razor.BuildTask/bin/$(Configuration)/*.dll;$(SrcDir)/ServiceStack.Razor.BuildTask/bin/$(Configuration)/*.targets"></RazorBuildTaskFiles>
109111

110112
<ClientFiles Include="$(SrcDir)/ServiceStack.Client/bin/$(Configuration)/ServiceStack.Client.*"></ClientFiles>
111113

@@ -381,6 +383,17 @@
381383

382384
<Exec Command="&quot;$(NuGetPath)&quot; pack &quot;$(NuGetPackageDir)/ServiceStack.Razor/servicestack.razor.nuspec&quot; -OutputDirectory &quot;$(NuGetPackageDir)&quot; -Version $(PackageVersion) -Symbols"
383385
LogStandardErrorAsError="true" />
386+
387+
<!-- ServiceStack.Razor.BuildTask -->
388+
389+
<MSBuild Projects="$(SrcDir)/ServiceStack.Razor.BuildTask/ServiceStack.Razor.BuildTask.csproj"
390+
Targets="Build"
391+
Properties="Version=$(PackageVersion);Configuration=$(Configuration)" />
392+
393+
<Copy SourceFiles="%(RazorBuildTaskFiles.Identity)" DestinationFolder="$(NuGetPackageDir)/ServiceStack.Razor.BuildTask/tools" />
394+
395+
<Exec Command="&quot;$(NuGetPath)&quot; pack &quot;$(NuGetPackageDir)/ServiceStack.Razor.BuildTask/servicestack.razor.buildtask.nuspec&quot; -OutputDirectory &quot;$(NuGetPackageDir)&quot; -Version $(PackageVersion) -Symbols"
396+
LogStandardErrorAsError="true" />
384397

385398
<!-- ServiceStack.Interfaces -->
386399

0 commit comments

Comments
 (0)