1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
# ****************************************************************************
#
# Copyright (c) Microsoft Corporation.
#
# This source code is subject to terms and conditions of the Microsoft Public License. A
# copy of the license can be found in the License.html file at the root of this distribution. If
# you cannot locate the Microsoft Public License, please send an email to
# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound
# by the terms of the Microsoft Public License.
#
# You must not remove this notice, or any other, from this software.
#
#
# ****************************************************************************
# Compilation tasks
desc "clean build directory"
task :clean_build => [:happy] do
IronRubyCompiler.clean
end
namespace :compile do
desc "compile extension attribute assembly"
task :extension_attributes => [:clean_build] do
IronRubyCompiler.compile :dlr_extension
end
desc "compile DLR (Microsoft.Scripting.dll and Microsoft.Scripting.Core.dll)"
task :dlr => [:extension_attributes] do
IronRubyCompiler.compile :dlr_core
IronRubyCompiler.compile :dlr_libs
IronRubyCompiler.compile :dlr_com
IronRubyCompiler.compile :dlr_debug
end
desc "compile ClassInitGenerator.exe"
task :generator => [:ruby] do
IronRubyCompiler.compile :generator
end
desc "compile IronRuby.dll"
task :ruby => [:dlr] do
IronRubyCompiler.compile :ironruby
end
desc "compile IronRuby.Libraries.dll"
task :libraries => [:ruby] do
IronRubyCompiler.compile :libraries
end
desc "compile IronRuby console"
task :console => [:libraries] do
IronRubyCompiler.compile :console
IronRubyCompiler.move_config
end
desc "compile IronRuby.Tests"
task :testhost => [:libraries] do
IronRubyCompiler.compile :test_runner
IronRubyCompiler.move_config "IronRuby.Tests.exe.config"
end
desc "compile IronRuby.Libraries.Scanner"
task :scanner => [:libraries] do
IronRubyCompiler.compile :scanner
end
desc "compile Yaml"
task :yaml => [:libraries] do
IronRubyCompiler.compile :yaml
end
desc "compile IronPython"
task :ironpython => [:dlr] do
[:ironpython, :ipyw, :ipy, :ironpython_modules].each do |target|
IronRubyCompiler.compile target
end
end
desc "compile IronRuby and IronPython"
task :all => [:compile, :ironpython]
end
desc "compile everything"
task :compile => %w{happy clean_build compile:dlr compile:ruby compile:libraries compile:console compile:testhost compile:generator compile:yaml}
|