main
1require 'rake/clean'
2require 'fileutils'
3
4CLEAN.include('artifacts','**/bin','**/obj')
5
6deploy_dir = File.join('artifacts','deploy')
7
8task :default => [:test]
9
10task :init => :clean do
11 mkdir 'artifacts'
12 mkdir 'artifacts/deploy'
13end
14
15task :compile => :init do
16 framework_dir = File.join(ENV['windir'].dup, 'Microsoft.NET', 'Framework', 'v3.5')
17 msbuild_file = File.join(framework_dir, 'msbuild.exe')
18 sh "#{msbuild_file} ../solution.sln /t:Clean /t:Build /property:Configuration=debug"
19end
20
21task :test => :compile do
22 file = File.expand_path("../product/project.specifications/bin/debug/project.specifications.dll")
23 sh "../thirdparty/mbunit/mbunit.cons.exe #{file} /rt:text /rnf:project.specifications.dll-results /rf:artifacts /sr"
24end
25
26task :deploy => :compile do
27 files = File.join('../product','**','mars.rover*.exe')
28 Dir.glob(files).each do|file|
29 FileUtils.cp file,deploy_dir
30 end
31end
32
33task :run => :deploy do
34 sh "#{deploy_dir}/mars.rover.exe"
35end