Math.NET Numerics
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

91 lines
4.9 KiB

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="BuildAndTest" ToolsVersion="3.5">
<UsingTask TaskName="MSBuild.ExtensionPack.CodeQuality.StyleCop" AssemblyFile=".\MSBuild_Extension_Pack_3.5.5\StyleCop\MSBuild.ExtensionPack.StyleCop.dll" />
<UsingTask TaskName="MSBuild.ExtensionPack.Framework.Assembly" AssemblyFile=".\MSBuild_Extension_Pack_3.5.5\MSBuild.ExtensionPack.dll" />
<UsingTask TaskName="MSBuild.ExtensionPack.Compression.Zip" AssemblyFile=".\MSBuild_Extension_Pack_3.5.5\MSBuild.ExtensionPack.JSharp.dll" />
<UsingTask TaskName="Gallio.MSBuildTasks.Gallio" AssemblyFile="..\lib\Gallio_3.1.397.0\bin\Gallio.MSBuildTasks.dll" />
<PropertyGroup>
<Config Condition="'$(Config)' == ''">Debug</Config>
<Optimize Condition="'$(Optimize)' == ''">False</Optimize>
</PropertyGroup>
<Target Name="Compile">
<MSBuild Projects="../src/UnitTests/UnitTests.csproj" Properties="Configuration=$(Config);Optimize=$(Optimize);OutputPath=$(MSBuildProjectDirectory)/bin" />
<MSBuild Projects="../src/FSharpUnitTests/FSharpUnitTests.fsproj" Properties="Configuration=$(Config);Optimize=$(Optimize);OutputPath=$(MSBuildProjectDirectory)/bin" />
</Target>
<Target Name="Test" DependsOnTargets="Compile">
<Gallio.MSBuildTasks.Gallio ContinueOnError="False" IgnoreFailures="False" Files="./bin/MathNet.Numerics.UnitTests.dll" />
<Exec Command="$(MSBuildProjectDirectory)/bin/FSharpUnitTests.exe" IgnoreExitCode="false" />
</Target>
<Target Name="StyleCop">
<CreateItem Include="../src/Numerics/**/*.cs">
<Output TaskParameter="Include" ItemName="StyleCopFiles" />
</CreateItem>
<MSBuild.ExtensionPack.CodeQuality.StyleCop TaskAction="Scan" SettingsFile="../src/Settings.StyleCop" SourceFiles="@(StyleCopFiles)" ShowOutput="true" ForceFullAnalysis="true" CacheResults="false" ContinueOnError="false">
<Output TaskParameter="Succeeded" PropertyName="AllPassed" />
<Output TaskParameter="ViolationCount" PropertyName="Violations" />
<Output TaskParameter="FailedFiles" ItemName="Failures" />
</MSBuild.ExtensionPack.CodeQuality.StyleCop>
<Message Text="StyleCop Succeeded: $(AllPassed), Violations: $(Violations)" />
<Warning Text="%(Failures.Identity) - Failed on Line %(Failures.LineNumber). %(Failures.CheckId): %(Failures.Message)" />
</Target>
<Target Name="BuildDocs">
<MSBuild Projects="./mathnet-numerics.shfbproj" />
</Target>
<Target Name="Coverage" DependsOnTargets="Compile">
<Exec Command="ncover.console.exe ..\lib\Gallio_3.1.397.0\bin\Gallio.Echo.exe ..\src\UnitTests\bin\Debug\MathNet.Numerics.UnitTests.dll //pm gallio.host.exe //eas zlib.net;MathNet.Numerics.UnitTests //et .*Resources;.*Exception //p &quot;Math.NET Numerics&quot;" />
<Exec Command="ncover.reporting.exe coverage.xml //or FullCoverageReport:Html //op NCoverReport" />
</Target>
<Target Name="Gendarme">
<Exec Command="$(MSBuildProjectDirectory)\..\tools\Gendarme-2.4\gendarme.exe $(MSBuildProjectDirectory)\..\src\Numerics\bin\Debug\MathNet.Numerics.dll"/>
</Target>
<Target Name="CSharpCompile">
<MSBuild Projects="../src/Numerics/Numerics.csproj" Properties="Configuration=$(Config);Optimize=$(Optimize)" />
<MSBuild Projects="../src/UnitTests/UnitTests.csproj" Properties="Configuration=$(Config);Optimize=$(Optimize)" />
</Target>
<Target Name="CSharpTest" >
<Gallio.MSBuildTasks.Gallio ContinueOnError="False" IgnoreFailures="False" Files="../src/UnitTests/bin/Debug/MathNet.Numerics.UnitTests.dll"/>
</Target>
<Target Name="UpdateTemplates">
<Exec Command="$(MSBuildProjectDirectory)\t4.bat"/>
</Target>
<Target Name="Clean">
<RemoveDir Directories="bin;Help;Release;NCoverReport" />
</Target>
<Target Name="CheckStyle" DependsOnTargets="StyleCop; Gendarme"/>
<Target Name="Release" DependsOnTargets="UpdateTemplates; Test; BuildDocs">
<MSBuild.ExtensionPack.Framework.Assembly TaskAction="GetInfo" NetAssembly="bin\MathNet.Numerics.dll">
<Output TaskParameter="OutputItems" ItemName="Info"/>
</MSBuild.ExtensionPack.Framework.Assembly>
<MakeDir Directories="$(MSBuildProjectDirectory)\Release" />
<Copy SourceFiles="..\COPYRIGHT.markdown" DestinationFiles="Release\COPYRIGHT" />
<ItemGroup>
<ReleaseFiles Include="bin\MathNet.Numerics.dll" />
<ReleaseFiles Include="bin\MathNet.Numerics.XML" />
<ReleaseFiles Include="bin\MathNet.Numerics.FSharp.dll" />
<ReleaseFiles Include="bin\MathNet.Numerics.FSharp.XML" />
<ReleaseFiles Include="Help\Math.NET-Numerics.chm" />
<ReleaseFiles Include="Release\COPYRIGHT" />
</ItemGroup>
<MSBuild.ExtensionPack.Compression.Zip TaskAction="Create" CompressFiles="@(ReleaseFiles)" ZipFileName="Release\MathNet.Numerics.%(Info.FileVersion).zip"/>
</Target>
<Target Name="Full" DependsOnTargets="Release; Coverage" />
</Project>