forked from jruby/jruby
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Rakefile
71 lines (58 loc) · 1.4 KB
/
Rakefile
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
task :default => [:build]
File.open("default.build.properties") do |props|
props.each_line do |line|
# skip comments
next if line =~ /^\W*#/
# build const name
name, value = line.split("=")
name.gsub!(".", "_").upcase!
Object.const_set(name.to_sym, value)
# substitute embedded props
value.chop!.gsub!(/\$\{([^}]+)\}/) do |embed|
Object.const_get($1.gsub!(".", "_").upcase!)
end
end
end
def ant(*args)
system "ant -logger org.apache.tools.ant.NoBannerLogger #{args.join(' ')}"
end
desc "Build JRuby"
task :build do
ant "jar"
end
task :jar => :build
desc "Alias for test:short"
task :test => "test:short"
desc "Alias for spec:ci"
task :spec => "spec:ci"
namespace :test do
desc "Run the basic set of tests"
task :short do
ant "test"
end
desc "Run the complete set of tests (will take a while)"
task :all do
ant "test-all"
end
end
namespace :spec do
desc "Run the rubyspecs expected to pass (version-frozen)"
task :ci do
ant "spec"
end
desc "Run all the specs including failures (version-frozen)"
task :all do
ant "spec-all"
end
end
desc "Clean all built output"
task :clean do
delete_files = FileList.new do |fl|
fl.
include("#{BUILD_DIR}/**").
exclude("#{BUILD_DIR}/rubyspec").
include(DIST_DIR).
include(API_DOCS_DIR)
end
delete_files.each {|files| rm_rf files, :verbose => true}
end