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