42 lines
3.3 KiB
Text
42 lines
3.3 KiB
Text
|
<?xml version="1.0" encoding="utf-8"?>
|
||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||
|
<PropertyGroup>
|
||
|
<!-- Enable the restore command to run before builds -->
|
||
|
<RestorePackages Condition=" '$(RestorePackages)' == '' ">true</RestorePackages>
|
||
|
<!-- Download Paket.exe if it does not already exist -->
|
||
|
<DownloadPaket Condition=" '$(DownloadPaket)' == '' ">true</DownloadPaket>
|
||
|
<PaketToolsPath>$(MSBuildThisFileDirectory)</PaketToolsPath>
|
||
|
<PaketRootPath>$(MSBuildThisFileDirectory)..\</PaketRootPath>
|
||
|
<MonoPath Condition="'$(MonoPath)' == '' And Exists('/Library/Frameworks/Mono.framework/Commands/mono')">/Library/Frameworks/Mono.framework/Commands/mono</MonoPath>
|
||
|
<MonoPath Condition="'$(MonoPath)' == ''">mono</MonoPath>
|
||
|
</PropertyGroup>
|
||
|
<PropertyGroup>
|
||
|
<!-- Paket command -->
|
||
|
<PaketExePath Condition=" '$(PaketExePath)' == '' ">$(PaketToolsPath)paket.exe</PaketExePath>
|
||
|
<PaketBootStrapperExePath Condition=" '$(PaketBootStrapperExePath)' == '' ">$(PaketToolsPath)paket.bootstrapper.exe</PaketBootStrapperExePath>
|
||
|
<PaketCommand Condition=" '$(OS)' == 'Windows_NT'">"$(PaketExePath)"</PaketCommand>
|
||
|
<PaketCommand Condition=" '$(OS)' != 'Windows_NT' ">$(MonoPath) --runtime=v4.0.30319 "$(PaketExePath)"</PaketCommand>
|
||
|
<PaketBootStrapperCommand Condition=" '$(OS)' == 'Windows_NT'">"$(PaketBootStrapperExePath)" $(PaketBootStrapperCommandArgs)</PaketBootStrapperCommand>
|
||
|
<PaketBootStrapperCommand Condition=" '$(OS)' != 'Windows_NT' ">$(MonoPath) --runtime=v4.0.30319 $(PaketBootStrapperExePath) $(PaketBootStrapperCommandArgs)</PaketBootStrapperCommand>
|
||
|
<!-- Commands -->
|
||
|
<PaketReferences Condition="!Exists('$(MSBuildProjectFullPath).paket.references')">$(MSBuildProjectDirectory)\paket.references</PaketReferences>
|
||
|
<PaketReferences Condition="!Exists('$(PaketReferences)')">$(MSBuildStartupDirectory)\paket.references</PaketReferences>
|
||
|
<PaketReferences Condition="Exists('$(MSBuildProjectFullPath).paket.references')">$(MSBuildProjectFullPath).paket.references</PaketReferences>
|
||
|
<RestoreCommand>$(PaketCommand) restore --references-files "$(PaketReferences)"</RestoreCommand>
|
||
|
<DownloadPaketCommand>$(PaketBootStrapperCommand)</DownloadPaketCommand>
|
||
|
<!-- We need to ensure packages are restored prior to assembly resolve -->
|
||
|
<BuildDependsOn Condition="$(RestorePackages) == 'true'">RestorePackages; $(BuildDependsOn);</BuildDependsOn>
|
||
|
</PropertyGroup>
|
||
|
<Target Name="CheckPrerequisites">
|
||
|
<!-- Raise an error if we're unable to locate paket.exe -->
|
||
|
<Error Condition="'$(DownloadPaket)' != 'true' AND !Exists('$(PaketExePath)')" Text="Unable to locate '$(PaketExePath)'" />
|
||
|
<MsBuild Targets="DownloadPaket" Projects="$(MSBuildThisFileFullPath)" Properties="Configuration=NOT_IMPORTANT;DownloadPaket=$(DownloadPaket)" />
|
||
|
</Target>
|
||
|
<Target Name="DownloadPaket">
|
||
|
<Exec Command="$(DownloadPaketCommand)" IgnoreStandardErrorWarningFormat="true" Condition=" '$(DownloadPaket)' == 'true' AND !Exists('$(PaketExePath)')" />
|
||
|
</Target>
|
||
|
<Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
|
||
|
<Exec Command="$(RestoreCommand)" IgnoreStandardErrorWarningFormat="true" WorkingDirectory="$(PaketRootPath)" Condition="Exists('$(PaketReferences)')" ContinueOnError="true" />
|
||
|
</Target>
|
||
|
</Project>
|