buildr 1.3.5-x86-mswin32 → 1.4.0-x86-mswin32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +153 -8
- data/README.rdoc +1 -1
- data/addon/buildr/antlr.rb +5 -5
- data/addon/buildr/drb.rb +18 -18
- data/addon/buildr/hibernate.rb +18 -14
- data/addon/buildr/javacc.rb +4 -4
- data/addon/buildr/jetty.rb +5 -5
- data/addon/buildr/nailgun.rb +23 -23
- data/addon/buildr/openjpa.rb +1 -1
- data/addon/buildr/org/apache/buildr/BuildrNail$Main.class +0 -0
- data/addon/buildr/org/apache/buildr/BuildrNail.class +0 -0
- data/addon/buildr/org/apache/buildr/JettyWrapper$1.class +0 -0
- data/addon/buildr/org/apache/buildr/JettyWrapper$BuildrHandler.class +0 -0
- data/addon/buildr/org/apache/buildr/JettyWrapper.class +0 -0
- data/addon/buildr/protobuf.rb +75 -0
- data/addon/buildr/xmlbeans.rb +5 -5
- data/buildr.buildfile +2 -2
- data/buildr.gemspec +8 -7
- data/doc/_layouts/default.html +2 -2
- data/doc/artifacts.textile +4 -4
- data/doc/building.textile +35 -3
- data/doc/contributing.textile +5 -0
- data/doc/download.textile +16 -5
- data/doc/extending.textile +38 -12
- data/doc/installing.textile +6 -5
- data/doc/languages.textile +182 -42
- data/doc/more_stuff.textile +2 -2
- data/doc/packaging.textile +14 -15
- data/doc/projects.textile +7 -2
- data/doc/quick_start.textile +4 -4
- data/doc/scripts/buildr-git.rb +63 -63
- data/doc/scripts/gitflow.rb +21 -21
- data/doc/settings_profiles.textile +9 -2
- data/doc/testing.textile +16 -5
- data/etc/KEYS +38 -0
- data/lib/buildr.rb +1 -1
- data/lib/buildr/core.rb +1 -0
- data/lib/buildr/core/application.rb +33 -27
- data/lib/buildr/core/build.rb +41 -28
- data/lib/buildr/core/cc.rb +172 -0
- data/lib/buildr/core/checks.rb +1 -1
- data/lib/buildr/core/common.rb +7 -6
- data/lib/buildr/core/compile.rb +7 -8
- data/lib/buildr/core/doc.rb +263 -0
- data/lib/buildr/core/environment.rb +6 -6
- data/lib/buildr/core/filter.rb +77 -35
- data/lib/buildr/core/generate.rb +7 -7
- data/lib/buildr/core/help.rb +1 -1
- data/lib/buildr/core/osx.rb +6 -6
- data/lib/buildr/core/progressbar.rb +4 -4
- data/lib/buildr/core/project.rb +144 -36
- data/lib/buildr/core/shell.rb +34 -34
- data/lib/buildr/core/test.rb +89 -20
- data/lib/buildr/core/transports.rb +8 -7
- data/lib/buildr/core/util.rb +77 -23
- data/lib/buildr/groovy/bdd.rb +5 -5
- data/lib/buildr/groovy/compiler.rb +19 -15
- data/lib/buildr/groovy/shell.rb +6 -6
- data/lib/buildr/ide/eclipse.rb +148 -75
- data/lib/buildr/ide/eclipse/java.rb +3 -3
- data/lib/buildr/ide/eclipse/plugin.rb +8 -5
- data/lib/buildr/ide/eclipse/scala.rb +4 -2
- data/lib/buildr/ide/idea.rb +2 -2
- data/lib/buildr/ide/idea7x.rb +23 -4
- data/lib/buildr/java.rb +1 -0
- data/lib/buildr/java/ant.rb +4 -4
- data/lib/buildr/java/bdd.rb +51 -54
- data/lib/buildr/java/cobertura.rb +57 -35
- data/lib/buildr/java/commands.rb +14 -5
- data/lib/buildr/java/compiler.rb +3 -217
- data/lib/buildr/java/deprecated.rb +4 -4
- data/lib/buildr/java/doc.rb +70 -0
- data/lib/buildr/java/emma.rb +22 -22
- data/lib/buildr/java/jruby.rb +4 -4
- data/lib/buildr/java/jtestr_runner.rb.erb +27 -25
- data/lib/buildr/java/org/apache/buildr/JavaTestFilter.class +0 -0
- data/lib/buildr/java/org/apache/buildr/JavaTestFilter.java +8 -3
- data/lib/buildr/java/packaging.rb +30 -29
- data/lib/buildr/java/pom.rb +4 -4
- data/lib/buildr/java/rjb.rb +6 -6
- data/lib/buildr/java/test_result.rb +61 -85
- data/lib/buildr/java/tests.rb +44 -27
- data/lib/buildr/java/version_requirement.rb +8 -8
- data/lib/buildr/packaging/archive.rb +55 -22
- data/lib/buildr/packaging/artifact.rb +75 -36
- data/lib/buildr/packaging/artifact_namespace.rb +90 -78
- data/lib/buildr/packaging/artifact_search.rb +5 -5
- data/lib/buildr/packaging/gems.rb +11 -7
- data/lib/buildr/packaging/package.rb +10 -7
- data/lib/buildr/packaging/tar.rb +14 -14
- data/lib/buildr/packaging/version_requirement.rb +30 -10
- data/lib/buildr/packaging/ziptask.rb +51 -13
- data/lib/buildr/scala.rb +1 -0
- data/lib/buildr/scala/bdd.rb +25 -20
- data/lib/buildr/scala/compiler.rb +87 -40
- data/lib/buildr/scala/doc.rb +106 -0
- data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class +0 -0
- data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.java +57 -0
- data/lib/buildr/scala/shell.rb +14 -9
- data/lib/buildr/scala/tests.rb +33 -26
- data/lib/buildr/shell.rb +33 -33
- data/rakelib/all-in-one.rake +113 -0
- data/rakelib/checks.rake +1 -1
- data/rakelib/doc.rake +7 -0
- data/rakelib/package.rake +1 -1
- data/rakelib/release.rake +9 -6
- data/rakelib/rspec.rake +26 -7
- data/rakelib/setup.rake +15 -3
- data/rakelib/stage.rake +18 -11
- data/spec/addon/drb_spec.rb +25 -25
- data/spec/core/application_spec.rb +111 -21
- data/spec/core/build_spec.rb +16 -15
- data/spec/core/cc_spec.rb +174 -0
- data/spec/core/checks_spec.rb +34 -34
- data/spec/core/common_spec.rb +51 -5
- data/spec/core/compile_spec.rb +89 -14
- data/spec/core/extension_spec.rb +127 -19
- data/spec/core/generate_spec.rb +2 -2
- data/spec/core/project_spec.rb +10 -10
- data/spec/core/test_spec.rb +144 -35
- data/spec/core/transport_spec.rb +8 -8
- data/spec/core/util_spec.rb +63 -5
- data/spec/groovy/bdd_spec.rb +5 -5
- data/spec/groovy/compiler_spec.rb +29 -18
- data/spec/ide/eclipse_spec.rb +185 -9
- data/spec/ide/idea7x_spec.rb +22 -10
- data/spec/java/ant_spec.rb +9 -5
- data/spec/java/bdd_spec.rb +29 -37
- data/spec/java/cobertura_spec.rb +12 -12
- data/spec/java/commands_spec.rb +34 -0
- data/spec/java/compiler_spec.rb +53 -53
- data/spec/java/emma_spec.rb +11 -11
- data/spec/java/java_spec.rb +10 -10
- data/spec/java/packaging_spec.rb +67 -20
- data/spec/java/test_coverage_helper.rb +18 -18
- data/spec/java/tests_spec.rb +13 -9
- data/spec/packaging/archive_spec.rb +187 -20
- data/spec/packaging/artifact_namespace_spec.rb +172 -83
- data/spec/packaging/artifact_spec.rb +83 -18
- data/spec/packaging/packaging_spec.rb +41 -14
- data/spec/sandbox.rb +23 -12
- data/spec/scala/bdd_spec.rb +13 -8
- data/spec/scala/compiler_spec.rb +18 -13
- data/spec/scala/scala.rb +3 -3
- data/spec/scala/tests_spec.rb +46 -24
- data/spec/spec_helpers.rb +28 -10
- data/spec/version_requirement_spec.rb +25 -11
- metadata +149 -133
- data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner$.class +0 -0
- data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.scala +0 -35
- data/rakelib/stage.rake~ +0 -213
data/lib/buildr/shell.rb
CHANGED
@@ -19,7 +19,7 @@ module Buildr
|
|
19
19
|
class << self
|
20
20
|
def add(p)
|
21
21
|
@providers ||= {}
|
22
|
-
|
22
|
+
|
23
23
|
if p.lang == :none
|
24
24
|
@providers[:none] ||= []
|
25
25
|
@providers[:none] << p
|
@@ -28,11 +28,11 @@ module Buildr
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
alias :<< :add
|
31
|
-
|
31
|
+
|
32
32
|
def providers
|
33
33
|
@providers ||= {}
|
34
34
|
end
|
35
|
-
|
35
|
+
|
36
36
|
def each
|
37
37
|
providers.each do |lang, p|
|
38
38
|
if lang == :none
|
@@ -46,51 +46,51 @@ module Buildr
|
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
49
|
-
|
49
|
+
|
50
50
|
module Shell
|
51
51
|
class Base
|
52
52
|
attr_reader :project
|
53
|
-
|
53
|
+
|
54
54
|
class << self
|
55
55
|
def lang
|
56
56
|
:none
|
57
57
|
end
|
58
|
-
|
58
|
+
|
59
59
|
def to_sym
|
60
60
|
@symbol ||= name.split('::').last.downcase.to_sym
|
61
61
|
end
|
62
62
|
end
|
63
|
-
|
63
|
+
|
64
64
|
def initialize(project)
|
65
65
|
@project = project
|
66
66
|
end
|
67
|
-
|
67
|
+
|
68
68
|
def build?
|
69
69
|
true
|
70
70
|
end
|
71
|
-
|
71
|
+
|
72
72
|
def launch
|
73
73
|
fail 'Not implemented'
|
74
74
|
end
|
75
75
|
end
|
76
|
-
|
76
|
+
|
77
77
|
module JavaRebel
|
78
78
|
def rebel_home
|
79
79
|
unless @rebel_home
|
80
|
-
@rebel_home = ENV['REBEL_HOME'] or ENV['
|
81
|
-
|
80
|
+
@rebel_home = ENV['REBEL_HOME'] or ENV['JREBEL'] or ENV['JREBEL_HOME']
|
81
|
+
|
82
82
|
if @rebel_home and File.directory? @rebel_home
|
83
|
-
@rebel_home += File::SEPARATOR + '
|
83
|
+
@rebel_home += File::SEPARATOR + 'jrebel.jar'
|
84
84
|
end
|
85
85
|
end
|
86
|
-
|
86
|
+
|
87
87
|
if @rebel_home and File.exists? @rebel_home
|
88
88
|
@rebel_home
|
89
89
|
else
|
90
90
|
nil
|
91
91
|
end
|
92
92
|
end
|
93
|
-
|
93
|
+
|
94
94
|
def rebel_args
|
95
95
|
if rebel_home
|
96
96
|
[
|
@@ -101,44 +101,44 @@ module Buildr
|
|
101
101
|
[]
|
102
102
|
end
|
103
103
|
end
|
104
|
-
|
104
|
+
|
105
105
|
def rebel_props(project)
|
106
106
|
{}
|
107
107
|
end
|
108
108
|
end
|
109
109
|
end
|
110
|
-
|
110
|
+
|
111
111
|
module ShellExtension
|
112
112
|
include Extension
|
113
|
-
|
113
|
+
|
114
114
|
first_time do
|
115
115
|
Project.local_task 'shell'
|
116
|
-
|
116
|
+
|
117
117
|
ShellProviders.each { |p| Project.local_task "shell:#{p.to_sym}" } # TODO not working
|
118
118
|
end
|
119
|
-
|
120
|
-
before_define do |project|
|
119
|
+
|
120
|
+
before_define(:shell => :compile) do |project|
|
121
121
|
ShellProviders.each do |p|
|
122
122
|
name = p.to_sym
|
123
|
-
|
123
|
+
|
124
124
|
trace "Defining task #{project.name}:shell:#{name}"
|
125
|
-
|
125
|
+
|
126
126
|
p_inst = p.new project
|
127
127
|
deps = if p_inst.build? then [:compile] else [] end
|
128
|
-
|
128
|
+
|
129
129
|
project.task "shell:#{name}" => deps do
|
130
130
|
trace "Launching #{name} shell"
|
131
131
|
p_inst.launch
|
132
132
|
end
|
133
133
|
end
|
134
134
|
end
|
135
|
-
|
136
|
-
after_define do |project|
|
135
|
+
|
136
|
+
after_define(:shell => :compile) do |project|
|
137
137
|
default_shell = project.shell.using
|
138
|
-
|
138
|
+
|
139
139
|
if default_shell
|
140
140
|
dep = "shell:#{default_shell.to_sym}"
|
141
|
-
|
141
|
+
|
142
142
|
trace "Defining task shell based on #{dep}"
|
143
143
|
project.task :shell => dep
|
144
144
|
else
|
@@ -147,12 +147,12 @@ module Buildr
|
|
147
147
|
end
|
148
148
|
end
|
149
149
|
end
|
150
|
-
|
150
|
+
|
151
151
|
class ShellConfig
|
152
152
|
def initialize(project)
|
153
153
|
@project = project
|
154
154
|
end
|
155
|
-
|
155
|
+
|
156
156
|
def using(*args)
|
157
157
|
if args.size > 0
|
158
158
|
@using ||= args.first
|
@@ -160,20 +160,20 @@ module Buildr
|
|
160
160
|
@using ||= find_shell_task
|
161
161
|
end
|
162
162
|
end
|
163
|
-
|
163
|
+
|
164
164
|
private
|
165
165
|
def find_shell_task
|
166
166
|
lang = @project.compile.language
|
167
167
|
ShellProviders.providers[lang]
|
168
168
|
end
|
169
169
|
end
|
170
|
-
|
170
|
+
|
171
171
|
# TODO temporary hack
|
172
172
|
def shell
|
173
173
|
@shell ||= ShellConfig.new self
|
174
174
|
end
|
175
175
|
end
|
176
|
-
|
176
|
+
|
177
177
|
class Project
|
178
178
|
include ShellExtension
|
179
179
|
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# Licensed to the Apache Software Foundation (ASF) under one or more
|
2
|
+
# contributor license agreements. See the NOTICE file distributed with this
|
3
|
+
# work for additional information regarding copyright ownership. The ASF
|
4
|
+
# licenses this file to you under the Apache License, Version 2.0 (the
|
5
|
+
# "License"); you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
12
|
+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
13
|
+
# License for the specific language governing permissions and limitations under
|
14
|
+
# the License.
|
15
|
+
|
16
|
+
desc "Create JRuby all-in-one distribution"
|
17
|
+
task "all-in-one" => 'all-in-one:all-in-one'
|
18
|
+
|
19
|
+
namespace :'all-in-one' do
|
20
|
+
|
21
|
+
version = "1.5.1"
|
22
|
+
jruby_distro = "jruby-bin-#{version}.tar.gz"
|
23
|
+
url = "http://jruby.org.s3.amazonaws.com/downloads/#{version}/#{jruby_distro}"
|
24
|
+
dir = "jruby-#{version}"
|
25
|
+
|
26
|
+
task "all-in-one" => [:gem,
|
27
|
+
# Prepare to run
|
28
|
+
:prepare,
|
29
|
+
# Download and extract JRuby
|
30
|
+
:download_and_extract,
|
31
|
+
# Cleanup JRuby distribution
|
32
|
+
:clean_dist,
|
33
|
+
# Install Buildr gem and dependencies
|
34
|
+
:install_dependencies,
|
35
|
+
# Add Buildr executables/scripts
|
36
|
+
:add_execs,
|
37
|
+
# Package distribution
|
38
|
+
:package
|
39
|
+
]
|
40
|
+
|
41
|
+
desc 'Prepare to run'
|
42
|
+
task :prepare do
|
43
|
+
mkpath '_all-in-one'
|
44
|
+
cd '_all-in-one'
|
45
|
+
end
|
46
|
+
|
47
|
+
desc 'Download and extract JRuby'
|
48
|
+
task :download_and_extract do
|
49
|
+
unless File.exist? jruby_distro
|
50
|
+
puts "Downloading JRuby from #{url} ..."
|
51
|
+
sh 'wget', url
|
52
|
+
puts "[X] Downloaded JRuby"
|
53
|
+
end
|
54
|
+
|
55
|
+
rm_rf dir if File.exist? dir
|
56
|
+
|
57
|
+
puts "Extracting JRuby to #{dir} ..."
|
58
|
+
sh 'tar', 'xzf', jruby_distro
|
59
|
+
puts "[X] Extracted JRuby"
|
60
|
+
cd dir
|
61
|
+
end
|
62
|
+
|
63
|
+
desc 'Cleanup JRuby distribution'
|
64
|
+
task :clean_dist do
|
65
|
+
puts 'Cleaning...'
|
66
|
+
rm_rf 'docs'
|
67
|
+
mkpath 'jruby-docs'
|
68
|
+
mv Dir["COPYING*"], 'jruby-docs'
|
69
|
+
mv Dir["LICENSE*"], 'jruby-docs'
|
70
|
+
mv 'README', 'jruby-docs'
|
71
|
+
rm_rf 'lib/ruby/1.9'
|
72
|
+
rm_rf 'lib/ruby/gems/1.8/doc'
|
73
|
+
rm_rf 'samples'
|
74
|
+
rm_rf 'share'
|
75
|
+
end
|
76
|
+
|
77
|
+
desc 'Install Buildr gem and dependencies'
|
78
|
+
task :install_dependencies do
|
79
|
+
puts "Install Buildr gem ..."
|
80
|
+
sh "bin/jruby", '-S', 'gem', 'install', FileList['../../pkg/*-java.gem'].first,
|
81
|
+
'--no-rdoc', '--no-ri'
|
82
|
+
puts "[X] Install Buildr gem"
|
83
|
+
end
|
84
|
+
|
85
|
+
desc 'Add Buildr executables/scripts'
|
86
|
+
task :add_execs do
|
87
|
+
cp 'bin/jruby.exe', 'bin/_buildr.exe'
|
88
|
+
cp Dir["../../all-in-one/*"], 'bin'
|
89
|
+
end
|
90
|
+
|
91
|
+
desc 'Package distribution'
|
92
|
+
task :package do
|
93
|
+
puts "Zipping distribution ..."
|
94
|
+
cd '..'
|
95
|
+
new_dir = "#{spec.name}-#{spec.version}"
|
96
|
+
mv dir, new_dir
|
97
|
+
zip = "#{new_dir}.zip"
|
98
|
+
rm zip if File.exist? zip
|
99
|
+
sh 'zip', '-q', '-r', zip, new_dir
|
100
|
+
puts "[X] Zipped distribution"
|
101
|
+
|
102
|
+
puts "Tarring distribution ..."
|
103
|
+
tar = "#{new_dir}.tar.gz"
|
104
|
+
rm tar if File.exist? tar
|
105
|
+
sh 'tar', 'czf', tar, new_dir
|
106
|
+
puts "[X] Tarred distribution"
|
107
|
+
|
108
|
+
rm_rf new_dir
|
109
|
+
end
|
110
|
+
|
111
|
+
end
|
112
|
+
|
113
|
+
task(:clobber) { rm_rf '_all-in-one' }
|
data/rakelib/checks.rake
CHANGED
@@ -18,7 +18,7 @@ desc "Check that source files contain the Apache license"
|
|
18
18
|
task :license=>FileList["**/*.{rb,rake,java,gemspec,buildfile}", 'Rakefile'] do |task|
|
19
19
|
puts "Checking that files contain the Apache license ... "
|
20
20
|
required = task.prerequisites.select { |fn| File.file?(fn) }
|
21
|
-
missing = required.reject { |fn|
|
21
|
+
missing = required.reject { |fn|
|
22
22
|
comments = File.read(fn).scan(/(\/\*(.*?)\*\/)|^#\s+(.*?)$|^-#\s+(.*?)$|<!--(.*?)-->/m).
|
23
23
|
map { |match| match.compact }.flatten.join("\n")
|
24
24
|
comments =~ /Licensed to the Apache Software Foundation/ && comments =~ /http:\/\/www.apache.org\/licenses\/LICENSE-2.0/
|
data/rakelib/doc.rake
CHANGED
@@ -71,6 +71,13 @@ task :site=>['_site', :rdoc, '_reports/specs.html', '_reports/coverage', 'buildr
|
|
71
71
|
cp_r '_reports/coverage', '_site'
|
72
72
|
fail 'No coverage report in site directory' unless File.exist?('_site/coverage/index.html')
|
73
73
|
cp 'CHANGELOG', '_site'
|
74
|
+
open("_site/.htaccess", "w") do |htaccess|
|
75
|
+
htaccess << %Q{
|
76
|
+
<FilesMatch "CHANGELOG">
|
77
|
+
ForceType 'text/plain; charset=UTF-8'
|
78
|
+
</FilesMatch>
|
79
|
+
}
|
80
|
+
end
|
74
81
|
cp 'buildr.pdf', '_site'
|
75
82
|
fail 'No PDF in site directory' unless File.exist?('_site/buildr.pdf')
|
76
83
|
puts 'OK'
|
data/rakelib/package.rake
CHANGED
@@ -67,7 +67,7 @@ task :snapshot=>[:package] do
|
|
67
67
|
cp FileList['pkg/{*.gem,*.tgz,*.zip}'], '_snapshot/gems'
|
68
68
|
puts "Generating gem index ..."
|
69
69
|
sh 'gem', 'generate_index', '--directory', '_snapshot'
|
70
|
-
puts "Copying gem and index back to Apache"
|
70
|
+
puts "Copying gem and index back to Apache"
|
71
71
|
sh 'rsync', '--progress', '--recursive', '_snapshot/', 'people.apache.org:public_html/buildr/snapshot/'
|
72
72
|
end
|
73
73
|
task(:clobber) { rm_rf '_snapshot' }
|
data/rakelib/release.rake
CHANGED
@@ -45,6 +45,9 @@ task :release do
|
|
45
45
|
|
46
46
|
# Upload binary and source packages to RubyForge.
|
47
47
|
lambda do
|
48
|
+
sh 'rubyforge', 'login'
|
49
|
+
# update rubyforge projects, processors, etc. in local config
|
50
|
+
sh 'rubyforge', 'config'
|
48
51
|
files = FileList["_release/#{spec.version}/dist/*.{gem,tgz,zip}"]
|
49
52
|
puts "Uploading #{spec.version} to RubyForge ... "
|
50
53
|
rubyforge = RubyForge.new.configure
|
@@ -63,7 +66,7 @@ task :release do
|
|
63
66
|
# Create an SVN tag for this release.
|
64
67
|
lambda do
|
65
68
|
info = `svn info` + `git svn info` # Using either svn or git-svn
|
66
|
-
if url = info[/^URL:/] && info.scan(/^URL: (.*)/)[0][0]
|
69
|
+
if url = info[/^URL:/] && info.scan(/^URL: (.*)/)[0][0]
|
67
70
|
new_url = url.sub(/(trunk$)|(branches\/\w*)$/, "tags/#{spec.version}")
|
68
71
|
unless url == new_url
|
69
72
|
sh 'svn', 'copy', url, new_url, '-m', "Release #{spec.version}" do |ok, res|
|
@@ -80,7 +83,7 @@ task :release do
|
|
80
83
|
|
81
84
|
|
82
85
|
# Update CHANGELOG to next release number.
|
83
|
-
lambda do
|
86
|
+
lambda do
|
84
87
|
next_version = spec.version.to_s.split('.').map { |v| v.to_i }.
|
85
88
|
zip([0, 0, 1]).map { |a| a.inject(0) { |t,i| t + i } }.join('.')
|
86
89
|
modified = "#{next_version} (Pending)\n\n" + File.read('CHANGELOG')
|
@@ -89,7 +92,7 @@ task :release do
|
|
89
92
|
end
|
90
93
|
puts "[X] Updated CHANGELOG and added entry for next release"
|
91
94
|
end.call
|
92
|
-
|
95
|
+
|
93
96
|
|
94
97
|
# Update source files to next release number.
|
95
98
|
lambda do
|
@@ -98,7 +101,7 @@ task :release do
|
|
98
101
|
|
99
102
|
ver_file = "lib/#{spec.name}.rb"
|
100
103
|
if File.exist?(ver_file)
|
101
|
-
modified = File.read(ver_file).sub(/(VERSION\s*=\s*)(['"])(.*)\2/) { |line| "#{$1}#{$2}#{next_version}#{$2}" }
|
104
|
+
modified = File.read(ver_file).sub(/(VERSION\s*=\s*)(['"])(.*)\2/) { |line| "#{$1}#{$2}#{next_version}#{$2}" }
|
102
105
|
File.open ver_file, 'w' do |file|
|
103
106
|
file.write modified
|
104
107
|
end
|
@@ -107,7 +110,7 @@ task :release do
|
|
107
110
|
|
108
111
|
spec_file = "#{spec.name}.gemspec"
|
109
112
|
if File.exist?(spec_file)
|
110
|
-
modified = File.read(spec_file).sub(/(s(?:pec)?\.version\s*=\s*)(['"])(.*)\2/) { |line| "#{$1}#{$2}#{next_version}#{$2}" }
|
113
|
+
modified = File.read(spec_file).sub(/(s(?:pec)?\.version\s*=\s*)(['"])(.*)\2/) { |line| "#{$1}#{$2}#{next_version}#{$2}" }
|
111
114
|
File.open spec_file, 'w' do |file|
|
112
115
|
file.write modified
|
113
116
|
end
|
@@ -115,7 +118,7 @@ task :release do
|
|
115
118
|
end
|
116
119
|
end.call
|
117
120
|
|
118
|
-
|
121
|
+
|
119
122
|
# Prepare release announcement email.
|
120
123
|
lambda do
|
121
124
|
changes = File.read("_release/#{spec.version}/CHANGES")[/.*?\n(.*)/m, 1]
|
data/rakelib/rspec.rake
CHANGED
@@ -18,34 +18,53 @@ begin
|
|
18
18
|
require 'spec/rake/spectask'
|
19
19
|
directory '_reports'
|
20
20
|
|
21
|
+
def default_spec_opts
|
22
|
+
default = %w{--format failing_examples:failed --format html:_reports/specs.html --backtrace}
|
23
|
+
default << '--colour' if $stdout.isatty
|
24
|
+
default
|
25
|
+
end
|
26
|
+
|
21
27
|
desc "Run all specs"
|
22
28
|
Spec::Rake::SpecTask.new :spec=>['_reports', :compile] do |task|
|
29
|
+
ENV['USE_FSC'] = 'no'
|
23
30
|
task.spec_files = FileList['spec/**/*_spec.rb']
|
24
31
|
task.spec_files.exclude('spec/groovy/*') if RUBY_PLATFORM[/java/]
|
25
|
-
task.spec_opts =
|
26
|
-
task.spec_opts << '--
|
32
|
+
task.spec_opts = default_spec_opts
|
33
|
+
task.spec_opts << '--format specdoc'
|
27
34
|
end
|
28
35
|
file('_reports/specs.html') { task(:spec).invoke }
|
29
36
|
|
30
37
|
desc 'Run all failed examples from previous run'
|
31
38
|
Spec::Rake::SpecTask.new :failed do |task|
|
39
|
+
ENV['USE_FSC'] = 'no'
|
32
40
|
task.spec_files = FileList['spec/**/*_spec.rb']
|
33
|
-
task.spec_opts =
|
34
|
-
task.spec_opts << '--
|
41
|
+
task.spec_opts = default_spec_opts
|
42
|
+
task.spec_opts << '--format specdoc' << '--example failed'
|
35
43
|
end
|
36
44
|
|
37
45
|
desc 'Run RSpec and generate Spec and coverage reports (slow)'
|
38
46
|
Spec::Rake::SpecTask.new :coverage=>['_reports', :compile] do |task|
|
47
|
+
ENV['USE_FSC'] = 'no'
|
39
48
|
task.spec_files = FileList['spec/**/*_spec.rb']
|
40
|
-
task.spec_opts =
|
41
|
-
task.spec_opts << '--
|
49
|
+
task.spec_opts = default_spec_opts
|
50
|
+
task.spec_opts << '--format progress'
|
42
51
|
task.rcov = true
|
43
52
|
task.rcov_dir = '_reports/coverage'
|
44
53
|
task.rcov_opts = %w{--exclude / --include-file ^lib --text-summary}
|
45
54
|
end
|
46
55
|
file('_reports/coverage') { task(:coverage).invoke }
|
47
56
|
|
48
|
-
|
57
|
+
task :load_ci_reporter do
|
58
|
+
gem 'ci_reporter'
|
59
|
+
ENV['CI_REPORTS'] = '_reports/ci'
|
60
|
+
# CI_Reporter does not quote the path to rspec_loader which causes problems when ruby is installed in C:/Program Files
|
61
|
+
ci_rep_path = Gem.loaded_specs['ci_reporter'].full_gem_path
|
62
|
+
ENV["SPEC_OPTS"] = [ENV["SPEC_OPTS"], default_spec_opts, "--require", "\"#{ci_rep_path}/lib/ci/reporter/rake/rspec_loader.rb\"", "--format", "CI::Reporter::RSpec"].join(" ")
|
63
|
+
end
|
64
|
+
|
65
|
+
desc 'Run all specs with CI reporter'
|
66
|
+
task :ci=>[:load_ci_reporter, :spec]
|
67
|
+
|
49
68
|
# Useful for testing with JRuby when using Ruby and vice versa.
|
50
69
|
namespace :spec do
|
51
70
|
desc "Run all specs specifically with Ruby"
|