1+ <?xml version =" 1.0" encoding =" utf-8" ?>
2+ <Project ToolsVersion =" 4.0" xmlns =" http://schemas.microsoft.com/developer/msbuild/2003" >
3+ <PropertyGroup >
4+ <SolutionDir Condition =" $(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'" >$(MSBuildProjectDirectory)\..\</SolutionDir >
5+
6+ <!-- Windows specific commands -->
7+ <NuGetToolsPath Condition =" '$(OS)' == 'Windows_NT'" >$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath >
8+ <PackagesConfig Condition =" '$(OS)' == 'Windows_NT'" >$([System.IO.Path]::Combine($(ProjectDir), "packages.config"))</PackagesConfig >
9+ <PackagesDir Condition =" '$(OS)' == 'Windows_NT'" >$([System.IO.Path]::Combine($(SolutionDir), "packages"))</PackagesDir >
10+
11+ <!-- We need to launch nuget.exe with the mono command if we're not on windows -->
12+ <NuGetToolsPath Condition =" '$(OS)' != 'Windows_NT'" >$(SolutionDir).nuget</NuGetToolsPath >
13+ <PackagesConfig Condition =" '$(OS)' != 'Windows_NT' " >packages.config</PackagesConfig >
14+ <PackagesDir Condition =" '$(OS)' != 'Windows_NT'" >$(SolutionDir)packages</PackagesDir >
15+
16+ <!-- NuGet command -->
17+ <NuGetExePath >$(NuGetToolsPath)\nuget.exe</NuGetExePath >
18+ <NuGetCommand Condition =" '$(OS)' == 'Windows_NT'" >"$(NuGetExePath)"</NuGetCommand >
19+ <NuGetCommand Condition =" '$(OS)' != 'Windows_NT' " >mono --runtime=v4.0.30319 $(NuGetExePath)</NuGetCommand >
20+
21+ <PackageOutputDir Condition =" $(PackageOutputDir) == ''" >$(TargetDir.Trim('\\'))</PackageOutputDir >
22+
23+ <!-- Package sources used to restore packages. By default will used the registered sources under %APPDATA%\NuGet\NuGet.Config -->
24+ <PackageSources >""</PackageSources >
25+
26+ <!-- Enable the restore command to run before builds -->
27+ <RestorePackages Condition =" $(RestorePackages) == ''" >false</RestorePackages >
28+
29+ <!-- Property that enables building a package from a project -->
30+ <BuildPackage Condition =" $(BuildPackage) == ''" >false</BuildPackage >
31+
32+ <!-- Commands -->
33+ <RestoreCommand >$(NuGetCommand) install "$(PackagesConfig)" -source $(PackageSources) -o "$(PackagesDir)"</RestoreCommand >
34+ <BuildCommand >$(NuGetCommand) pack "$(ProjectPath)" -p Configuration=$(Configuration) -o "$(PackageOutputDir)" -symbols</BuildCommand >
35+
36+ <!-- Make the build depend on restore packages -->
37+ <BuildDependsOn Condition =" $(RestorePackages) == 'true'" >
38+ RestorePackages;
39+ $(BuildDependsOn);
40+ </BuildDependsOn >
41+
42+ <!-- Make the build depend on restore packages -->
43+ <BuildDependsOn Condition =" $(BuildPackage) == 'true'" >
44+ $(BuildDependsOn);
45+ BuildPackage;
46+ </BuildDependsOn >
47+ </PropertyGroup >
48+
49+ <Target Name =" CheckPrerequisites" >
50+ <!-- Raise an error if we're unable to locate nuget.exe -->
51+ <Error Condition =" !Exists('$(NuGetExePath)')" Text =" Unable to locate '$(NuGetExePath)'" />
52+ </Target >
53+
54+ <Target Name =" RestorePackages" DependsOnTargets =" CheckPrerequisites" >
55+ <Exec Command =" $(RestoreCommand)"
56+ Condition =" '$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />
57+
58+ <Exec Command =" $(RestoreCommand)"
59+ LogStandardErrorAsError =" true"
60+ Condition =" '$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
61+ </Target >
62+
63+ <Target Name =" BuildPackage" DependsOnTargets =" CheckPrerequisites" >
64+ <Exec Command =" $(BuildCommand)"
65+ Condition =" '$(OS)' != 'Windows_NT' " />
66+
67+ <Exec Command =" $(BuildCommand)"
68+ LogStandardErrorAsError =" true"
69+ Condition =" '$(OS)' == 'Windows_NT' " />
70+ </Target >
71+ </Project >
0 commit comments