Skip to content
Browse files

Added first version of build script. Can run tests. Making distributi…

…on does not work yet.
  • Loading branch information...
1 parent 3419204 commit 7b3d3f1827299d814f8b19aea82376f6e1439ade @kurtschelfthout kurtschelfthout committed Oct 5, 2010
Showing with 102 additions and 14 deletions.
  1. +42 −14 Clojure/Clojure.Source/Clojure.Source.csproj
  2. +6 −0 Clojure/ClojureCLR.sln
  3. +52 −0 Clojure/build.proj
  4. +2 −0 Clojure/runtests.clj
View
56 Clojure/Clojure.Source/Clojure.Source.csproj
@@ -90,7 +90,9 @@
<None Include="clojure\gvec.clj">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
- <None Include="clojure\samples\ants.clj" />
+ <None Include="clojure\samples\ants.clj">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
<None Include="clojure\core.clj">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
@@ -106,17 +108,39 @@
<None Include="clojure\main.clj">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
- <None Include="clojure\samples\attributes\testattribute.clj" />
- <None Include="clojure\samples\await-test.clj" />
- <None Include="clojure\samples\celsius.clj" />
- <None Include="clojure\samples\deftype\testdeftype.clj" />
- <None Include="clojure\samples\deftype\testprotocol.clj" />
- <None Include="clojure\samples\genclass\testgenclass.clj" />
- <None Include="clojure\samples\genclass\testgenclass2.clj" />
- <None Include="clojure\samples\genclass\testgenclass3.clj" />
- <None Include="clojure\samples\genclass\testmvc.clj" />
- <None Include="clojure\samples\interop\testinterop.clj" />
- <None Include="clojure\samples\proxy\testproxy.clj" />
+ <None Include="clojure\samples\attributes\testattribute.clj">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
+ <None Include="clojure\samples\await-test.clj">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
+ <None Include="clojure\samples\celsius.clj">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
+ <None Include="clojure\samples\deftype\testdeftype.clj">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
+ <None Include="clojure\samples\deftype\testprotocol.clj">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
+ <None Include="clojure\samples\genclass\testgenclass.clj">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
+ <None Include="clojure\samples\genclass\testgenclass2.clj">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
+ <None Include="clojure\samples\genclass\testgenclass3.clj">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
+ <None Include="clojure\samples\genclass\testmvc.clj">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
+ <None Include="clojure\samples\interop\testinterop.clj">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
+ <None Include="clojure\samples\proxy\testproxy.clj">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
<None Include="clojure\set.clj">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
@@ -138,7 +162,9 @@
<None Include="clojure\test\tap.clj">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
- <None Include="clojure\test_clojure.clj" />
+ <None Include="clojure\test_clojure.clj">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
<None Include="clojure\test_clojure\agents.clj">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
@@ -285,7 +311,9 @@
<None Include="clojure\repl.clj">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
- <None Include="clojure\samples\stm\teststm.clj" />
+ <None Include="clojure\samples\stm\teststm.clj">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
<None Include="clojure\test_clojure\clr\io.clj">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
View
6 Clojure/ClojureCLR.sln
@@ -43,6 +43,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "4.0", "4.0", "{C2140248-C9B
..\lib\DLR\4.0\Microsoft.Scripting.dll = ..\lib\DLR\4.0\Microsoft.Scripting.dll
EndProjectSection
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{6EFD39C3-8DC2-4188-845B-303375E78550}"
+ ProjectSection(SolutionItems) = preProject
+ build.proj = build.proj
+ runtests.clj = runtests.clj
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug 3.5|Any CPU = Debug 3.5|Any CPU
View
52 Clojure/build.proj
@@ -0,0 +1,52 @@
+<?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)' == '' ">AnyCPU</Platform>
+ <cljc>Clojure.Compile.exe</cljc>
+ <clji>Clojure.Main.exe</clji>
+ </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)|$(Platform)' == 'Debug 3.5|AnyCPU' ">
+ <OutputPath>..\bin\3.5\Debug\</OutputPath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release 3.5|AnyCPU' ">
+ <OutputPath>..\bin\3.5\Release\</OutputPath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug 4.0|AnyCPU' ">
+ <OutputPath>..\bin\4.0\Debug\</OutputPath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release 4.0|AnyCPU' ">
+ <OutputPath>..\bin\4.0\Release\</OutputPath>
+ </PropertyGroup>
+
+ <Target Name="Build">
+ <!--the continue on error should be removed once SimpleConsole works/is removed-->
+ <MSBuild Projects="ClojureCLR.sln" Properties="Configuration=$(Configuration)" ContinueOnError="true"/>
+ </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)"/>
+ </Target>
+
+ <Target Name="Test" DependsOnTargets="Build;CompileTest">
+ <Copy SkipUnchangedFiles="true" SourceFiles="runtests.clj" DestinationFolder="$(OutputPath)" />
+ <Exec Command="$(OutputPath)\$(clji) runtests.clj"/>
+ </Target>
+
+ <Target Name="Dist" DependsOnTargets="Build">
+ <ItemGroup>
+ <!--DLR-->
+ <DistFiles Include="$(OutputPath)\Microsoft.*" />
+ <!--Clojure dlls and exes-->
+ <DistFiles Include="$(OutputPath)\Clojure.*"
+ Exclude="$(OutputPath)\Clojure.Test.dll;$(OutputPath)\Clojure.Test.pdb;
+ $(OutputPath)\Clojure.Source.dll;$(OutputPath)\Clojoure.Source.pdb" />
+ <!--clj and AOT clj files-->
+ <DistFiles Include="$(OutputPath)\clojure\**\*" Exclude="$(OutputPath)\clojure\test_clojure\**\*" />
+ </ItemGroup>
+ <Copy SourceFiles="@(DistFiles)" DestinationFolder="dist\$(Configuration)" SkipUnchangedFiles="true" />
+ </Target>
+</Project>
View
2 Clojure/runtests.clj
@@ -0,0 +1,2 @@
+(require '(clojure [test-clojure :as main]))
+(main/run)

0 comments on commit 7b3d3f1

Please sign in to comment.
Something went wrong with that request. Please try again.