Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

101 lines (71 sloc) 3.858 kb
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug 3.5</Configuration>
<!--<Platform Condition=" '$(Platform)' == '' ">Any CPU</Platform>-->
<cljc>Clojure.Compile.exe</cljc>
<clji>Clojure.Main.exe</clji>
<Runtime>.Net</Runtime>
</PropertyGroup>
<!--Is there a way to avoid this duplication? This is also encoded in the project files, although relative to a different path -->
<PropertyGroup Condition=" '$(Configuration)' == 'Debug 3.5' ">
<OutputPath>..\bin\3.5\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release 3.5' ">
<OutputPath>..\bin\3.5\Release\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug 4.0' ">
<OutputPath>..\bin\4.0\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release 4.0' ">
<OutputPath>..\bin\4.0\Release\</OutputPath>
</PropertyGroup>
<Target Name="Build">
<MSBuild Projects="ClojureCLR.sln"
Properties="Runtime=$(Runtime)"/>
</Target>
<Target Name="CompileTest" DependsOnTargets="Build">
<Exec Command="$(cljc) clojure.test-clojure.genclass.examples clojure.test-clojure.protocols.examples clojure.test-clojure.protocols.more-examples clojure.test-clojure.repl.example"
WorkingDirectory="$(OutputPath)"
Condition=" '$(Runtime)' == '.Net' "/>
<Exec Command="mono $(cljc) clojure.test-clojure.genclass.examples clojure.test-clojure.protocols.examples clojure.test-clojure.protocols.more-examples clojure.test-clojure.repl.example"
WorkingDirectory="$(OutputPath)"
Condition=" '$(Runtime)' == 'Mono' "/>
</Target>
<Target Name="Test" DependsOnTargets="Build;CompileTest">
<Copy SkipUnchangedFiles="true" SourceFiles="Clojure.Tests\clojure\run_tests.clj" DestinationFolder="$(OutputPath)" />
<Exec Command="$(clji) clojure\run_tests.clj"
WorkingDirectory="$(OutputPath)"
Condition=" '$(Runtime)' == '.Net' "/>
<Exec Command="mono $(clji) clojure\run_tests.clj"
WorkingDirectory="$(OutputPath)"
Condition=" '$(Runtime)' == 'Mono' "/>
</Target>
<!-- RJ: Reworked Dist target to work around Mono bug related to embeding ItemGroup inside a Target tag -->
<Target Name="Dist" DependsOnTargets="Build">
<!--DLR-->
<Dlls Include="$(OutputPath)\Microsoft.*" />
<!--Clojure dlls and exes-->
<CreateItem
Include="$(OutputPath)\Clojure.*;$(OutputPath)\Microsoft.*"
Exclude="$(OutputPath)\Clojure.Tests.dll;$(OutputPath)\Clojure.Tests.pdb;
$(OutputPath)\Clojure.Source.dll;$(OutputPath)\Clojure.Source.pdb;
$(OutputPath)\clojure.test-clojure.genclass.examples.ExampleClass.dll;
$(OutputPath)\clojure.test-clojure.genclass.examples.ExampleClass.pdb;
$(OutputPath)\Clojure.Main.vshost.exe;$(OutputPath)\Clojure.Main.vshost.exe.manifest">
<Output
TaskParameter="Include"
ItemName="Dlls"/>
</CreateItem>
<!--clj and AOT clj files-->
<CreateItem
Include="$(OutputPath)\clojure\**\*"
Exclude="$(OutputPath)\clojure\test_clojure\**\*">
<Output
TaskParameter="Include"
ItemName="CljFiles"/>
</CreateItem>
<Copy SourceFiles="@(Dlls)" DestinationFolder="..\dist\$(Configuration)" SkipUnchangedFiles="true" />
<Copy SourceFiles="@(CljFiles)" DestinationFolder="..\dist\$(Configuration)\clojure\%(RecursiveDir)" SkipUnchangedFiles="true" />
</Target>
</Project>
Jump to Line
Something went wrong with that request. Please try again.