buildr 1.3.5 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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/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/core.rb +1 -0
- 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/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/eclipse.rb +148 -75
- data/lib/buildr/ide/idea.rb +2 -2
- data/lib/buildr/ide/idea7x.rb +23 -4
- 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/java.rb +1 -0
- 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/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/scala.rb +1 -0
- data/lib/buildr/shell.rb +33 -33
- data/lib/buildr.rb +1 -1
- 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/spec/core/extension_spec.rb
CHANGED
@@ -18,17 +18,31 @@ require File.join(File.dirname(__FILE__), '../spec_helpers')
|
|
18
18
|
|
19
19
|
|
20
20
|
describe Extension do
|
21
|
-
|
21
|
+
|
22
|
+
before do
|
23
|
+
@saved_modules = Project.class_eval { @extension_modules }.dup
|
24
|
+
@saved_callbacks = Project.class_eval { @global_callbacks }.dup
|
25
|
+
end
|
26
|
+
|
27
|
+
after do
|
28
|
+
modules = @saved_modules
|
29
|
+
callbacks = @saved_callbacks
|
30
|
+
Project.class_eval do
|
31
|
+
@global_callbacks = callbacks
|
32
|
+
@extension_modules = modules
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
22
36
|
it 'should call Extension.first_time during include' do
|
23
37
|
TestExtension.should_receive(:first_time_called).once
|
24
38
|
class Buildr::Project
|
25
39
|
include TestExtension
|
26
40
|
end
|
27
41
|
end
|
28
|
-
|
42
|
+
|
29
43
|
it 'should call before_define and after_define in order when project is defined' do
|
30
44
|
begin
|
31
|
-
TestExtension.
|
45
|
+
TestExtension.callback do |extension|
|
32
46
|
extension.should_receive(:before_define_called).once.ordered
|
33
47
|
extension.should_receive(:after_define_called).once.ordered
|
34
48
|
end
|
@@ -37,14 +51,14 @@ describe Extension do
|
|
37
51
|
end
|
38
52
|
define('foo')
|
39
53
|
ensure
|
40
|
-
TestExtension.
|
54
|
+
TestExtension.callback { |ignore| }
|
41
55
|
end
|
42
56
|
end
|
43
57
|
|
44
58
|
it 'should call before_define and after_define for each project defined' do
|
45
59
|
begin
|
46
60
|
extensions = 0
|
47
|
-
TestExtension.
|
61
|
+
TestExtension.callback do |extension|
|
48
62
|
extensions += 1
|
49
63
|
extension.should_receive(:before_define_called).once.ordered
|
50
64
|
extension.should_receive(:after_define_called).once.ordered
|
@@ -55,39 +69,133 @@ describe Extension do
|
|
55
69
|
define('foo')
|
56
70
|
define('bar')
|
57
71
|
extensions.should equal(2)
|
58
|
-
ensure
|
59
|
-
TestExtension.
|
72
|
+
ensure
|
73
|
+
TestExtension.callback { |ignore| }
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
it 'should call before_define callbacks in dependency order' do
|
78
|
+
class Buildr::Project
|
79
|
+
include ExtensionOneTwo
|
80
|
+
include ExtensionThreeFour
|
81
|
+
end
|
82
|
+
define('foo')
|
83
|
+
project('foo').before_order.should == [ :one, :two, :three, :four ]
|
84
|
+
project('foo').after_order.should == [ :four, :three, :two, :one ]
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'should call before_define callbacks when extending project' do
|
88
|
+
define('foo') do
|
89
|
+
extend ExtensionOneTwo
|
90
|
+
extend ExtensionThreeFour
|
60
91
|
end
|
92
|
+
project('foo').before_order.should == [ :two, :one, :four, :three ]
|
93
|
+
project('foo').after_order.should == [ :four, :three, :two, :one ]
|
94
|
+
end
|
95
|
+
|
96
|
+
it 'should raise error when including if callback dependencies cannot be satisfied' do
|
97
|
+
class Buildr::Project
|
98
|
+
include ExtensionOneTwo # missing ExtensionThreeFour
|
99
|
+
end
|
100
|
+
lambda { define('foo') }.should raise_error
|
101
|
+
end
|
102
|
+
|
103
|
+
it 'should raise error when extending if callback dependencies cannot be satisfied' do
|
104
|
+
lambda {
|
105
|
+
define('foo') do |project|
|
106
|
+
extend ExtensionOneTwo # missing ExtensionThreeFour
|
107
|
+
end
|
108
|
+
}.should raise_error
|
109
|
+
end
|
110
|
+
|
111
|
+
it 'should ignore dependencies when extending project' do
|
112
|
+
define('bar') do |project|
|
113
|
+
extend ExtensionThreeFour # missing ExtensionOneTwo
|
114
|
+
end
|
115
|
+
project('bar').before_order.should == [:four, :three]
|
116
|
+
project('bar').after_order.should == [:four, :three]
|
61
117
|
end
|
62
118
|
end
|
63
119
|
|
64
120
|
module TestExtension
|
65
121
|
include Extension
|
66
|
-
|
122
|
+
|
67
123
|
def initialize(*args)
|
68
|
-
# callback is used to obtain extension instance created by buildr
|
69
|
-
@@initialized.call(self) if @@initialized
|
70
124
|
super
|
125
|
+
# callback is used to obtain extension instance created by buildr
|
126
|
+
@@callback.call(self) if @@callback
|
71
127
|
end
|
72
|
-
|
73
|
-
def
|
74
|
-
@@
|
128
|
+
|
129
|
+
def self.callback(&block)
|
130
|
+
@@callback = block
|
75
131
|
end
|
76
|
-
|
132
|
+
|
77
133
|
first_time do
|
78
|
-
|
134
|
+
self.first_time_called()
|
79
135
|
end
|
80
|
-
|
136
|
+
|
81
137
|
before_define do |project|
|
82
138
|
project.before_define_called()
|
83
139
|
end
|
84
|
-
|
140
|
+
|
85
141
|
after_define do |project|
|
86
142
|
project.after_define_called()
|
87
143
|
end
|
88
144
|
|
89
|
-
def
|
145
|
+
def self.first_time_called()
|
146
|
+
end
|
147
|
+
|
148
|
+
end
|
149
|
+
|
150
|
+
module BeforeAfter
|
151
|
+
def before_order
|
152
|
+
@before_order ||= []
|
153
|
+
end
|
154
|
+
|
155
|
+
def after_order
|
156
|
+
@after_order ||= []
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
module ExtensionOneTwo
|
161
|
+
include Extension, BeforeAfter
|
162
|
+
|
163
|
+
before_define(:two => :one) do |project|
|
164
|
+
project.before_order << :two
|
165
|
+
end
|
166
|
+
|
167
|
+
before_define(:one) do |project|
|
168
|
+
project.before_order << :one
|
169
|
+
end
|
170
|
+
|
171
|
+
after_define(:one => :two) do |project|
|
172
|
+
project.after_order << :one
|
173
|
+
end
|
174
|
+
|
175
|
+
after_define(:two => :three) do |project|
|
176
|
+
project.after_order << :two
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
module ExtensionThreeFour
|
181
|
+
include Extension, BeforeAfter
|
182
|
+
|
183
|
+
before_define(:three => :two)
|
184
|
+
|
185
|
+
before_define(:four => :three) do |project|
|
186
|
+
project.before_order << :four
|
187
|
+
end
|
188
|
+
|
189
|
+
before_define(:three) do |project|
|
190
|
+
project.before_order << :three
|
191
|
+
end
|
192
|
+
|
193
|
+
after_define(:three => :four) do |project|
|
194
|
+
project.after_order << :three
|
195
|
+
end
|
196
|
+
|
197
|
+
after_define(:four) do |project|
|
198
|
+
project.after_order << :four
|
90
199
|
end
|
91
|
-
|
92
200
|
end
|
93
201
|
|
data/spec/core/generate_spec.rb
CHANGED
@@ -18,13 +18,13 @@ require File.join(File.dirname(__FILE__), '../spec_helpers')
|
|
18
18
|
|
19
19
|
|
20
20
|
describe Buildr::Generate do
|
21
|
-
|
21
|
+
|
22
22
|
describe 'Generated buildfile' do
|
23
23
|
it 'should be a legal buildfile' do
|
24
24
|
File.open('buildfile', 'w') { |file| file.write Generate.from_directory(Dir.pwd).join("\n") }
|
25
25
|
lambda { Buildr.application.run }.should_not raise_error
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
it 'should not contain NEXT_VERSION because it was removed in buildr 1.3.3' do
|
29
29
|
buildfile = Generate.from_directory(Dir.pwd)
|
30
30
|
buildfile.each { |line| line.should_not include('NEXT_VERSION')}
|
data/spec/core/project_spec.rb
CHANGED
@@ -45,7 +45,7 @@ describe Project do
|
|
45
45
|
foo.should be(project('foo'))
|
46
46
|
bar.should be(project('bar'))
|
47
47
|
end
|
48
|
-
|
48
|
+
|
49
49
|
it 'should show up in projects list if defined' do
|
50
50
|
define('foo')
|
51
51
|
projects.map(&:name).should include('foo')
|
@@ -206,7 +206,7 @@ describe Layout do
|
|
206
206
|
@layout.expand(:foo, nil, :bar).should eql('none')
|
207
207
|
@layout.expand(nil, :foo).should eql('foo')
|
208
208
|
end
|
209
|
-
|
209
|
+
|
210
210
|
it 'should return nil if path not mapped' do
|
211
211
|
@layout[:foo].should be_nil
|
212
212
|
end
|
@@ -368,7 +368,7 @@ describe Project, '#on_define' do
|
|
368
368
|
define('foo') { define 'bar' }
|
369
369
|
scopes.should eql([['foo'], ['foo', 'bar']])
|
370
370
|
end
|
371
|
-
|
371
|
+
|
372
372
|
it 'should be removed in version 1.5 since it was deprecated in version 1.3' do
|
373
373
|
Buildr::VERSION.should < '1.5'
|
374
374
|
end
|
@@ -418,7 +418,7 @@ describe 'Sub-project' do
|
|
418
418
|
define 'foo' do
|
419
419
|
define 'bar'
|
420
420
|
define 'bar'
|
421
|
-
end
|
421
|
+
end
|
422
422
|
end.should raise_error
|
423
423
|
end
|
424
424
|
|
@@ -456,7 +456,7 @@ describe 'Sub-project' do
|
|
456
456
|
ordered << self.name
|
457
457
|
define('bar') { ordered << self.name }
|
458
458
|
define('baz') { ordered << self.name }
|
459
|
-
end
|
459
|
+
end
|
460
460
|
ordered.should eql(['foo', 'foo:bar', 'foo:baz'])
|
461
461
|
end
|
462
462
|
|
@@ -466,7 +466,7 @@ describe 'Sub-project' do
|
|
466
466
|
ordered << self.name
|
467
467
|
define('bar') { project('foo:baz') ; ordered << self.name }
|
468
468
|
define('baz') { ordered << self.name }
|
469
|
-
end
|
469
|
+
end
|
470
470
|
ordered.should eql(['foo', 'foo:baz', 'foo:bar'])
|
471
471
|
end
|
472
472
|
|
@@ -475,7 +475,7 @@ describe 'Sub-project' do
|
|
475
475
|
define 'foo' do
|
476
476
|
define('bar') { project('foo:baz') }
|
477
477
|
define('baz') { project('foo:bar') }
|
478
|
-
end
|
478
|
+
end
|
479
479
|
end.should raise_error(RuntimeError, /Circular dependency/)
|
480
480
|
end
|
481
481
|
end
|
@@ -645,7 +645,7 @@ describe Project, '#task' do
|
|
645
645
|
it 'should create a regular task' do
|
646
646
|
define('foo') { task('bar') }
|
647
647
|
Buildr.application.lookup('foo:bar').should_not be_nil
|
648
|
-
end
|
648
|
+
end
|
649
649
|
|
650
650
|
it 'should return a task defined in the project' do
|
651
651
|
define('foo') { task('bar') }
|
@@ -661,7 +661,7 @@ describe Project, '#task' do
|
|
661
661
|
define('foo') { task('bar') }
|
662
662
|
project('foo').task('bar').name.should eql('foo:bar')
|
663
663
|
end
|
664
|
-
|
664
|
+
|
665
665
|
it 'should ignore namespace if starting with color' do
|
666
666
|
define 'foo' do
|
667
667
|
task(':bar').name.should == 'bar'
|
@@ -744,7 +744,7 @@ end
|
|
744
744
|
|
745
745
|
|
746
746
|
=begin
|
747
|
-
describe Buildr::Generate do
|
747
|
+
describe Buildr::Generate do
|
748
748
|
it 'should be able to create buildfile from directory structure' do
|
749
749
|
write 'src/main/java/Foo.java', ''
|
750
750
|
write 'one/two/src/main/java/Foo.java', ''
|