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.
 
 
 

114 lines
5.7 KiB

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Test" 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.Communication.Twitter" AssemblyFile=".\MSBuild_Extension_Pack_3.5.5\MMSBuild.ExtensionPack.Communication.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" />
<UsingTask TaskName="UploadFiles" AssemblyFile=".\CodePlexApi\CodePlex.WebServices.Client.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 .\bin\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/UnitTests/UnitTests.csproj" Properties="Configuration=$(Config);Optimize=$(Optimize)" />
</Target>
<Target Name="CSharpTest" DependsOnTargets="CSharpCompile">
<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.AssemblyVersion).zip"/>
</Target>
<ItemGroup>
<ReleaseFile Include="Release\MathNet.Numerics.zip">
<Name>Math.NET.Numerics.Latest.zip</Name>
<FileType>RuntimeBinary</FileType>
</ReleaseFile>
</ItemGroup>
<Target Name="UploadRelease" DependsOnTargets="Release">
<UploadFiles
ProjectName="$mathnetnumerics"
ReleaseName="$Daily Builds"
ReleaseFiles="@(ReleaseFile)"
Password="$(CodeplexPassword)"
Username="$(CodeplexUser)"
/>
<MSBuild.ExtensionPack.Communication.Twitter
TaskAction="Tweet"
Message="A new alpha build is up on CodePlex - http://bit.ly/8B5X26"
UserName="$(TwitterUser)"
UserPassword="$(TwitterPass)"/>
</Target>
<Target Name="Full" DependsOnTargets="Release; Coverage" />
</Project>