1 task :default => [:build]
3 File.open("default.build.properties") do |props|
4 props.each_line do |line|
6 next if line =~ /^\W*#/
9 name, value = line.split("=")
10 name.gsub!(".", "_").upcase!
11 Object.const_set(name.to_sym, value)
13 # substitute embedded props
14 value.chop!.gsub!(/\$\{([^}]+)\}/) do |embed|
15 Object.const_get($1.gsub!(".", "_").upcase!)
21 system "ant -logger org.apache.tools.ant.NoBannerLogger #{args.join(' ')}"
30 desc "Alias for test:short"
31 task :test => "test:short"
33 desc "Alias for spec:ci"
34 task :spec => "spec:ci"
37 desc "Compile test code"
40 system "jar cf build/jruby-test-classes.jar -C build/classes/test ."
43 desc "Run the basic set of tests"
48 desc "Run the complete set of tests (will take a while)"
54 file "build/jruby-test-classes.jar" do
55 Rake::Task['test:compile'].invoke
59 desc "Run the rubyspecs expected to pass (version-frozen)"
64 desc "Run all the specs including failures (version-frozen)"
69 require 'spec/rake/spectask'
70 desc "Runs Java Integration Specs"
71 Spec::Rake::SpecTask.new("ji" => "build/jruby-test-classes.jar") do |t|
73 t.spec_opts << "--options" << "test/spec/java_integration/spec.opts"
74 t.spec_files = FileList['test/spec/java_integration/**/*_spec.rb']
78 desc "Clean all built output"
80 delete_files = FileList.new do |fl|
82 include("#{BUILD_DIR}/**").
83 exclude("#{BUILD_DIR}/rubyspec").
88 delete_files.each {|files| rm_rf files, :verbose => true}
91 desc "Generate sources, compile and add to jar file"
94 system 'apt -nocompile -cp lib/jruby.jar:build_lib/asm-3.0.jar:build_lib/asm-util-3.0.jar -factory org.jruby.anno.AnnotationBinder src/org/jruby/*.java'
95 system 'javac -cp lib/jruby.jar src_gen/*.java'
96 system 'jar -uf lib/jruby.jar -C src_gen .'