buildr 1.3.2 → 1.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. data/CHANGELOG +66 -4
  2. data/{README → README.rdoc} +29 -16
  3. data/Rakefile +16 -20
  4. data/_buildr +38 -0
  5. data/addon/buildr/cobertura.rb +49 -45
  6. data/addon/buildr/emma.rb +238 -0
  7. data/addon/buildr/jetty.rb +1 -1
  8. data/addon/buildr/nailgun.rb +585 -661
  9. data/{lib/buildr/java → addon/buildr}/org/apache/buildr/BuildrNail$Main.class +0 -0
  10. data/{lib/buildr/java → addon/buildr}/org/apache/buildr/BuildrNail.class +0 -0
  11. data/{lib/buildr/java → addon/buildr}/org/apache/buildr/BuildrNail.java +0 -0
  12. data/bin/buildr +9 -2
  13. data/buildr.buildfile +53 -0
  14. data/buildr.gemspec +21 -14
  15. data/doc/css/default.css +51 -48
  16. data/doc/css/print.css +60 -55
  17. data/doc/images/favicon.png +0 -0
  18. data/doc/images/growl-icon.tiff +0 -0
  19. data/doc/images/project-structure.png +0 -0
  20. data/doc/pages/artifacts.textile +46 -156
  21. data/doc/pages/building.textile +63 -323
  22. data/doc/pages/contributing.textile +112 -102
  23. data/doc/pages/download.textile +19 -27
  24. data/doc/pages/extending.textile +27 -81
  25. data/doc/pages/getting_started.textile +44 -119
  26. data/doc/pages/index.textile +26 -47
  27. data/doc/pages/languages.textile +407 -0
  28. data/doc/pages/more_stuff.textile +92 -173
  29. data/doc/pages/packaging.textile +71 -239
  30. data/doc/pages/projects.textile +58 -233
  31. data/doc/pages/recipes.textile +19 -43
  32. data/doc/pages/settings_profiles.textile +39 -104
  33. data/doc/pages/testing.textile +41 -304
  34. data/doc/pages/troubleshooting.textile +29 -47
  35. data/doc/pages/whats_new.textile +69 -167
  36. data/doc/print.haml +0 -1
  37. data/doc/print.toc.yaml +1 -0
  38. data/doc/scripts/buildr-git.rb +1 -1
  39. data/doc/site.haml +1 -0
  40. data/doc/site.toc.yaml +8 -5
  41. data/{KEYS → etc/KEYS} +0 -0
  42. data/etc/git-svn-authors +16 -0
  43. data/lib/buildr.rb +2 -5
  44. data/lib/buildr/core/application.rb +192 -98
  45. data/lib/buildr/core/build.rb +140 -91
  46. data/lib/buildr/core/checks.rb +5 -5
  47. data/lib/buildr/core/common.rb +1 -1
  48. data/lib/buildr/core/compile.rb +12 -10
  49. data/lib/buildr/core/filter.rb +151 -46
  50. data/lib/buildr/core/generate.rb +9 -9
  51. data/lib/buildr/core/progressbar.rb +1 -1
  52. data/lib/buildr/core/project.rb +8 -7
  53. data/lib/buildr/core/test.rb +51 -26
  54. data/lib/buildr/core/transports.rb +22 -38
  55. data/lib/buildr/core/util.rb +78 -26
  56. data/lib/buildr/groovy.rb +18 -0
  57. data/lib/buildr/groovy/bdd.rb +105 -0
  58. data/lib/buildr/groovy/compiler.rb +138 -0
  59. data/lib/buildr/ide/eclipse.rb +102 -71
  60. data/lib/buildr/ide/idea.rb +7 -12
  61. data/lib/buildr/ide/idea7x.rb +7 -8
  62. data/lib/buildr/java.rb +4 -7
  63. data/lib/buildr/java/ant.rb +26 -5
  64. data/lib/buildr/java/bdd.rb +449 -0
  65. data/lib/buildr/java/commands.rb +9 -9
  66. data/lib/buildr/java/{compilers.rb → compiler.rb} +8 -90
  67. data/lib/buildr/java/jruby.rb +29 -11
  68. data/lib/buildr/java/jtestr_runner.rb.erb +116 -0
  69. data/lib/buildr/java/packaging.rb +23 -16
  70. data/lib/buildr/java/pom.rb +1 -1
  71. data/lib/buildr/java/rjb.rb +21 -8
  72. data/lib/buildr/java/test_result.rb +308 -0
  73. data/lib/buildr/java/tests.rb +324 -0
  74. data/lib/buildr/packaging/artifact.rb +12 -11
  75. data/lib/buildr/packaging/artifact_namespace.rb +7 -4
  76. data/lib/buildr/packaging/gems.rb +3 -3
  77. data/lib/buildr/packaging/zip.rb +13 -10
  78. data/lib/buildr/resources/buildr.icns +0 -0
  79. data/lib/buildr/scala.rb +19 -0
  80. data/lib/buildr/scala/compiler.rb +109 -0
  81. data/lib/buildr/scala/tests.rb +203 -0
  82. data/rakelib/apache.rake +71 -45
  83. data/rakelib/doc.rake +2 -2
  84. data/rakelib/package.rake +3 -2
  85. data/rakelib/rspec.rake +23 -21
  86. data/rakelib/setup.rake +34 -9
  87. data/rakelib/stage.rake +4 -1
  88. data/spec/addon/cobertura_spec.rb +77 -0
  89. data/spec/addon/emma_spec.rb +120 -0
  90. data/spec/addon/test_coverage_spec.rb +255 -0
  91. data/spec/{application_spec.rb → core/application_spec.rb} +82 -4
  92. data/spec/{artifact_namespace_spec.rb → core/artifact_namespace_spec.rb} +12 -1
  93. data/spec/core/build_spec.rb +415 -0
  94. data/spec/{checks_spec.rb → core/checks_spec.rb} +2 -2
  95. data/spec/{common_spec.rb → core/common_spec.rb} +119 -30
  96. data/spec/{compile_spec.rb → core/compile_spec.rb} +17 -13
  97. data/spec/core/generate_spec.rb +33 -0
  98. data/spec/{project_spec.rb → core/project_spec.rb} +9 -6
  99. data/spec/{test_spec.rb → core/test_spec.rb} +222 -28
  100. data/spec/{transport_spec.rb → core/transport_spec.rb} +5 -9
  101. data/spec/groovy/bdd_spec.rb +80 -0
  102. data/spec/{groovy_compilers_spec.rb → groovy/compiler_spec.rb} +1 -1
  103. data/spec/ide/eclipse_spec.rb +243 -0
  104. data/spec/{java_spec.rb → java/ant.rb} +7 -17
  105. data/spec/java/bdd_spec.rb +358 -0
  106. data/spec/{java_compilers_spec.rb → java/compiler_spec.rb} +1 -1
  107. data/spec/java/java_spec.rb +88 -0
  108. data/spec/{java_packaging_spec.rb → java/packaging_spec.rb} +65 -4
  109. data/spec/{java_test_frameworks_spec.rb → java/tests_spec.rb} +31 -10
  110. data/spec/{archive_spec.rb → packaging/archive_spec.rb} +12 -2
  111. data/spec/{artifact_spec.rb → packaging/artifact_spec.rb} +12 -5
  112. data/spec/{packaging_helper.rb → packaging/packaging_helper.rb} +0 -0
  113. data/spec/{packaging_spec.rb → packaging/packaging_spec.rb} +1 -1
  114. data/spec/sandbox.rb +22 -5
  115. data/spec/{scala_compilers_spec.rb → scala/compiler_spec.rb} +1 -1
  116. data/spec/{scala_test_frameworks_spec.rb → scala/tests_spec.rb} +11 -12
  117. data/spec/spec_helpers.rb +38 -17
  118. metadata +103 -70
  119. data/lib/buildr/java/bdd_frameworks.rb +0 -265
  120. data/lib/buildr/java/groovyc.rb +0 -137
  121. data/lib/buildr/java/test_frameworks.rb +0 -450
  122. data/spec/build_spec.rb +0 -193
  123. data/spec/java_bdd_frameworks_spec.rb +0 -238
  124. data/spec/spec.opts +0 -6
@@ -14,8 +14,7 @@
14
14
  # the License.
15
15
 
16
16
 
17
- require File.join(File.dirname(__FILE__), 'spec_helpers')
18
-
17
+ require File.join(File.dirname(__FILE__), '../spec_helpers')
19
18
 
20
19
  # TODO's
21
20
  # -test w/ Specs
@@ -28,7 +27,7 @@ require File.join(File.dirname(__FILE__), 'spec_helpers')
28
27
  # -test exclude Suite's
29
28
 
30
29
 
31
- describe Buildr::ScalaTest do
30
+ describe Buildr::Scala::ScalaTest do
32
31
  it 'should be the default test framework when test cases are in Scala' do
33
32
  write 'src/test/scala/com/example/MySuite.scala', <<-SCALA
34
33
  package com.example
@@ -53,26 +52,26 @@ describe Buildr::ScalaTest do
53
52
 
54
53
  it 'should include Scalatest dependencies' do
55
54
  define('foo') { test.using(:scalatest) }
56
- project('foo').test.compile.dependencies.should include(*artifacts(ScalaTest::REQUIRES))
57
- project('foo').test.dependencies.should include(*artifacts(ScalaTest::REQUIRES))
55
+ project('foo').test.compile.dependencies.should include(*artifacts(Scala::ScalaTest.dependencies))
56
+ project('foo').test.dependencies.should include(*artifacts(Scala::ScalaTest.dependencies))
58
57
  end
59
58
 
60
59
  it 'should include JMock dependencies' do
61
60
  define('foo') { test.using(:scalatest) }
62
- project('foo').test.compile.dependencies.should include(*artifacts(JMock::REQUIRES))
63
- project('foo').test.dependencies.should include(*artifacts(JMock::REQUIRES))
61
+ project('foo').test.compile.dependencies.should include(*artifacts(JMock.dependencies))
62
+ project('foo').test.dependencies.should include(*artifacts(JMock.dependencies))
64
63
  end
65
-
64
+
66
65
  it 'should include Specs dependencies' do
67
66
  define('foo') { test.using(:scalatest) }
68
- project('foo').test.compile.dependencies.should include(*artifacts(ScalaSpecs::REQUIRES))
69
- project('foo').test.dependencies.should include(*artifacts(ScalaSpecs::REQUIRES))
67
+ project('foo').test.compile.dependencies.should include(*artifacts(Scala::ScalaSpecs.dependencies))
68
+ project('foo').test.dependencies.should include(*artifacts(Scala::ScalaSpecs.dependencies))
70
69
  end
71
70
 
72
71
  it 'should include ScalaCheck dependencies' do
73
72
  define('foo') { test.using(:scalatest) }
74
- project('foo').test.compile.dependencies.should include(*artifacts(ScalaCheck::REQUIRES))
75
- project('foo').test.dependencies.should include(*artifacts(ScalaCheck::REQUIRES))
73
+ project('foo').test.compile.dependencies.should include(*artifacts(Scala::ScalaCheck.dependencies))
74
+ project('foo').test.dependencies.should include(*artifacts(Scala::ScalaCheck.dependencies))
76
75
  end
77
76
 
78
77
  it 'should include public classes extending org.scalatest.FunSuite' do
@@ -16,10 +16,10 @@
16
16
 
17
17
  # This file gets loaded twice when running 'spec spec/*' and not with pleasent results,
18
18
  # so ignore the second attempt to load it.
19
- unless self.class.const_defined?('SpecHelpers')
19
+ unless defined?(SpecHelpers)
20
20
 
21
21
  require 'rubygems'
22
- $LOAD_PATH.unshift File.expand_path('../lib', File.dirname(__FILE__))
22
+ $LOAD_PATH.unshift File.expand_path('../lib', File.dirname(__FILE__)), File.expand_path('../addon', File.dirname(__FILE__))
23
23
  require 'buildr'
24
24
 
25
25
  require File.expand_path('sandbox', File.dirname(__FILE__))
@@ -28,13 +28,15 @@ unless self.class.const_defined?('SpecHelpers')
28
28
 
29
29
  include Checks::Matchers
30
30
 
31
- module ::Kernel #:nodoc:
32
- def warn(message)
33
- $warning ||= []
34
- $warning << message
31
+ [:info, :warn, :error].each do |severity|
32
+ ::Object.class_eval do
33
+ define_method severity do |message|
34
+ $messages ||= {}
35
+ ($messages[severity] ||= []) << message
36
+ end
35
37
  end
36
38
  end
37
-
39
+
38
40
  class << Buildr.application
39
41
  alias :deprecated_without_capture :deprecated
40
42
  def deprecated(message)
@@ -42,32 +44,50 @@ unless self.class.const_defined?('SpecHelpers')
42
44
  end
43
45
  end
44
46
 
45
- class WarningMatcher
46
- def initialize(message)
47
+ class MessageWithSeverityMatcher
48
+ def initialize(severity, message)
49
+ @severity = severity
47
50
  @expect = message
48
51
  end
49
52
 
50
53
  def matches?(target)
51
- $warning = []
54
+ $messages = {@severity => []}
52
55
  target.call
53
- return Regexp === @expect ? $warning.join('\n') =~ @expect : $warning.include?(@expect.to_s)
56
+ return Regexp === @expect ? $messages[@severity].join('\n') =~ @expect : $messages[@severity].include?(@expect.to_s)
54
57
  end
55
58
 
56
59
  def failure_message
57
- $warning ? "Expected warning #{@expect.source}, found #{$warning}" : "Expected warning #{@expect.source}, no warning issued"
60
+ "Expected #{@severity} #{@expect.inspect}, " +
61
+ ($messages[@severity].empty? ? "no #{@severity} issued" : "found #{$messages[@severity].inspect}")
58
62
  end
59
63
 
60
64
  def negative_failure_message
61
- "Found unexpected #{$warning}"
65
+ "Found unexpected #{$messages[@severity].inspect}"
62
66
  end
63
67
  end
64
68
 
69
+ # Test if an info message was shown. You can use a string or regular expression.
70
+ #
71
+ # For example:
72
+ # lambda { info 'ze test' }.should show_info(/ze test/)
73
+ def show_info(message)
74
+ MessageWithSeverityMatcher.new :info, message
75
+ end
76
+
65
77
  # Tests if a warning was issued. You can use a string or regular expression.
66
78
  #
67
79
  # For example:
68
- # lambda { warn 'ze test' }.should warn_that(/ze test/)
69
- def warn_that(message)
70
- WarningMatcher.new message
80
+ # lambda { warn 'ze test' }.should show_warning(/ze test/)
81
+ def show_warning(message)
82
+ MessageWithSeverityMatcher.new :warn, message
83
+ end
84
+
85
+ # Test if an error message was shown. You can use a string or regular expression.
86
+ #
87
+ # For example:
88
+ # lambda { error 'ze test' }.should show_error(/ze test/)
89
+ def show_error(message)
90
+ MessageWithSeverityMatcher.new :error, message
71
91
  end
72
92
 
73
93
 
@@ -95,7 +115,8 @@ unless self.class.const_defined?('SpecHelpers')
95
115
 
96
116
  def failure_message
97
117
  return @but_not.negative_failure_message if all_ran? && @but_not
98
- "Expected the tasks #{expected} to run, but #{remaining} did not run, or not in the order we expected them to."
118
+ "Expected the tasks #{expected} to run, but #{remaining} did not run, or not in the order we expected them to." +
119
+ " Tasks that ran: #{$executed.inspect}"
99
120
  end
100
121
 
101
122
  def negative_failure_message
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: buildr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Apache Buildr
@@ -9,19 +9,9 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-07-18 00:00:00 -07:00
12
+ date: 2008-10-08 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: rjb
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - "="
22
- - !ruby/object:Gem::Version
23
- version: 1.1.2
24
- version:
25
15
  - !ruby/object:Gem::Dependency
26
16
  name: rake
27
17
  type: :runtime
@@ -50,7 +40,7 @@ dependencies:
50
40
  requirements:
51
41
  - - "="
52
42
  - !ruby/object:Gem::Version
53
- version: 2.0.3
43
+ version: 2.0.4
54
44
  version:
55
45
  - !ruby/object:Gem::Dependency
56
46
  name: net-sftp
@@ -100,7 +90,17 @@ dependencies:
100
90
  requirements:
101
91
  - - "="
102
92
  - !ruby/object:Gem::Version
103
- version: 1.6.0
93
+ version: 1.7.0
94
+ version:
95
+ - !ruby/object:Gem::Dependency
96
+ name: rjb
97
+ type: :runtime
98
+ version_requirement:
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "="
102
+ - !ruby/object:Gem::Version
103
+ version: 1.1.6
104
104
  version:
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: Antwrap
@@ -120,7 +120,7 @@ dependencies:
120
120
  requirements:
121
121
  - - "="
122
122
  - !ruby/object:Gem::Version
123
- version: 1.1.4
123
+ version: 1.1.5
124
124
  version:
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: xml-simple
@@ -149,7 +149,7 @@ executables:
149
149
  extensions: []
150
150
 
151
151
  extra_rdoc_files:
152
- - README
152
+ - README.rdoc
153
153
  - CHANGELOG
154
154
  - LICENSE
155
155
  - NOTICE
@@ -173,6 +173,10 @@ files:
173
173
  - lib/buildr/core/transports.rb
174
174
  - lib/buildr/core/util.rb
175
175
  - lib/buildr/core.rb
176
+ - lib/buildr/groovy
177
+ - lib/buildr/groovy/bdd.rb
178
+ - lib/buildr/groovy/compiler.rb
179
+ - lib/buildr/groovy.rb
176
180
  - lib/buildr/ide
177
181
  - lib/buildr/ide/eclipse.rb
178
182
  - lib/buildr/ide/idea.ipr.template
@@ -182,24 +186,22 @@ files:
182
186
  - lib/buildr/ide.rb
183
187
  - lib/buildr/java
184
188
  - lib/buildr/java/ant.rb
185
- - lib/buildr/java/bdd_frameworks.rb
189
+ - lib/buildr/java/bdd.rb
186
190
  - lib/buildr/java/commands.rb
187
- - lib/buildr/java/compilers.rb
191
+ - lib/buildr/java/compiler.rb
188
192
  - lib/buildr/java/deprecated.rb
189
- - lib/buildr/java/groovyc.rb
190
193
  - lib/buildr/java/jruby.rb
194
+ - lib/buildr/java/jtestr_runner.rb.erb
191
195
  - lib/buildr/java/org
192
196
  - lib/buildr/java/org/apache
193
197
  - lib/buildr/java/org/apache/buildr
194
- - lib/buildr/java/org/apache/buildr/BuildrNail$Main.class
195
- - lib/buildr/java/org/apache/buildr/BuildrNail.class
196
- - lib/buildr/java/org/apache/buildr/BuildrNail.java
197
198
  - lib/buildr/java/org/apache/buildr/JavaTestFilter.class
198
199
  - lib/buildr/java/org/apache/buildr/JavaTestFilter.java
199
200
  - lib/buildr/java/packaging.rb
200
201
  - lib/buildr/java/pom.rb
201
202
  - lib/buildr/java/rjb.rb
202
- - lib/buildr/java/test_frameworks.rb
203
+ - lib/buildr/java/test_result.rb
204
+ - lib/buildr/java/tests.rb
203
205
  - lib/buildr/java/version_requirement.rb
204
206
  - lib/buildr/java.rb
205
207
  - lib/buildr/packaging
@@ -211,10 +213,18 @@ files:
211
213
  - lib/buildr/packaging/tar.rb
212
214
  - lib/buildr/packaging/zip.rb
213
215
  - lib/buildr/packaging.rb
216
+ - lib/buildr/resources
217
+ - lib/buildr/resources/buildr.icns
218
+ - lib/buildr/scala
219
+ - lib/buildr/scala/compiler.rb
220
+ - lib/buildr/scala/tests.rb
221
+ - lib/buildr/scala.rb
214
222
  - lib/buildr.rb
223
+ - bin/buildr
215
224
  - addon/buildr
216
225
  - addon/buildr/antlr.rb
217
226
  - addon/buildr/cobertura.rb
227
+ - addon/buildr/emma.rb
218
228
  - addon/buildr/hibernate.rb
219
229
  - addon/buildr/javacc.rb
220
230
  - addon/buildr/jdepend.rb
@@ -225,54 +235,14 @@ files:
225
235
  - addon/buildr/org
226
236
  - addon/buildr/org/apache
227
237
  - addon/buildr/org/apache/buildr
238
+ - addon/buildr/org/apache/buildr/BuildrNail$Main.class
239
+ - addon/buildr/org/apache/buildr/BuildrNail.class
240
+ - addon/buildr/org/apache/buildr/BuildrNail.java
228
241
  - addon/buildr/org/apache/buildr/JettyWrapper$1.class
229
242
  - addon/buildr/org/apache/buildr/JettyWrapper$BuildrHandler.class
230
243
  - addon/buildr/org/apache/buildr/JettyWrapper.class
231
244
  - addon/buildr/org/apache/buildr/JettyWrapper.java
232
245
  - addon/buildr/xmlbeans.rb
233
- - README
234
- - CHANGELOG
235
- - LICENSE
236
- - NOTICE
237
- - DISCLAIMER
238
- - KEYS
239
- - buildr.gemspec
240
- - Rakefile
241
- - rakelib/apache.rake
242
- - rakelib/changelog.rake
243
- - rakelib/doc.rake
244
- - rakelib/package.rake
245
- - rakelib/release.rake
246
- - rakelib/rspec.rake
247
- - rakelib/rubyforge.rake
248
- - rakelib/scm.rake
249
- - rakelib/setup.rake
250
- - rakelib/stage.rake
251
- - spec/application_spec.rb
252
- - spec/archive_spec.rb
253
- - spec/artifact_namespace_spec.rb
254
- - spec/artifact_spec.rb
255
- - spec/build_spec.rb
256
- - spec/checks_spec.rb
257
- - spec/common_spec.rb
258
- - spec/compile_spec.rb
259
- - spec/groovy_compilers_spec.rb
260
- - spec/java_bdd_frameworks_spec.rb
261
- - spec/java_compilers_spec.rb
262
- - spec/java_packaging_spec.rb
263
- - spec/java_spec.rb
264
- - spec/java_test_frameworks_spec.rb
265
- - spec/packaging_helper.rb
266
- - spec/packaging_spec.rb
267
- - spec/project_spec.rb
268
- - spec/sandbox.rb
269
- - spec/scala_compilers_spec.rb
270
- - spec/scala_test_frameworks_spec.rb
271
- - spec/spec.opts
272
- - spec/spec_helpers.rb
273
- - spec/test_spec.rb
274
- - spec/transport_spec.rb
275
- - spec/version_requirement_spec.rb
276
246
  - doc/css
277
247
  - doc/css/default.css
278
248
  - doc/css/print.css
@@ -281,7 +251,10 @@ files:
281
251
  - doc/images/apache-incubator-logo.png
282
252
  - doc/images/buildr-hires.png
283
253
  - doc/images/buildr.png
254
+ - doc/images/favicon.png
255
+ - doc/images/growl-icon.tiff
284
256
  - doc/images/note.png
257
+ - doc/images/project-structure.png
285
258
  - doc/images/tip.png
286
259
  - doc/images/zbuildr.tif
287
260
  - doc/pages
@@ -292,6 +265,7 @@ files:
292
265
  - doc/pages/extending.textile
293
266
  - doc/pages/getting_started.textile
294
267
  - doc/pages/index.textile
268
+ - doc/pages/languages.textile
295
269
  - doc/pages/mailing_lists.textile
296
270
  - doc/pages/more_stuff.textile
297
271
  - doc/pages/packaging.textile
@@ -310,19 +284,78 @@ files:
310
284
  - doc/scripts/install-osx.sh
311
285
  - doc/site.haml
312
286
  - doc/site.toc.yaml
287
+ - spec/addon
288
+ - spec/addon/cobertura_spec.rb
289
+ - spec/addon/emma_spec.rb
290
+ - spec/addon/test_coverage_spec.rb
291
+ - spec/core
292
+ - spec/core/application_spec.rb
293
+ - spec/core/artifact_namespace_spec.rb
294
+ - spec/core/build_spec.rb
295
+ - spec/core/checks_spec.rb
296
+ - spec/core/common_spec.rb
297
+ - spec/core/compile_spec.rb
298
+ - spec/core/generate_spec.rb
299
+ - spec/core/project_spec.rb
300
+ - spec/core/test_spec.rb
301
+ - spec/core/transport_spec.rb
302
+ - spec/groovy
303
+ - spec/groovy/bdd_spec.rb
304
+ - spec/groovy/compiler_spec.rb
305
+ - spec/ide
306
+ - spec/ide/eclipse_spec.rb
307
+ - spec/java
308
+ - spec/java/ant.rb
309
+ - spec/java/bdd_spec.rb
310
+ - spec/java/compiler_spec.rb
311
+ - spec/java/java_spec.rb
312
+ - spec/java/packaging_spec.rb
313
+ - spec/java/tests_spec.rb
314
+ - spec/packaging
315
+ - spec/packaging/archive_spec.rb
316
+ - spec/packaging/artifact_spec.rb
317
+ - spec/packaging/packaging_helper.rb
318
+ - spec/packaging/packaging_spec.rb
319
+ - spec/sandbox.rb
320
+ - spec/scala
321
+ - spec/scala/compiler_spec.rb
322
+ - spec/scala/tests_spec.rb
323
+ - spec/spec_helpers.rb
324
+ - spec/version_requirement_spec.rb
325
+ - README.rdoc
326
+ - LICENSE
327
+ - NOTICE
328
+ - DISCLAIMER
329
+ - CHANGELOG
330
+ - buildr.buildfile
331
+ - buildr.gemspec
332
+ - Rakefile
333
+ - rakelib/apache.rake
334
+ - rakelib/changelog.rake
335
+ - rakelib/doc.rake
336
+ - rakelib/package.rake
337
+ - rakelib/release.rake
338
+ - rakelib/rspec.rake
339
+ - rakelib/rubyforge.rake
340
+ - rakelib/scm.rake
341
+ - rakelib/setup.rake
342
+ - rakelib/stage.rake
343
+ - _buildr
344
+ - etc/git-svn-authors
345
+ - etc/KEYS
313
346
  has_rdoc: true
314
- homepage: http://incubator.apache.org/buildr/
347
+ homepage: http://incubator.apache.org/buildr
315
348
  post_install_message:
316
349
  rdoc_options:
317
350
  - --title
318
- - Buildr -- A build system that doesn't suck
351
+ - Buildr
319
352
  - --main
320
- - README
353
+ - README.rdoc
321
354
  - --line-numbers
322
355
  - --inline-source
323
356
  - -p
324
357
  - --webcvs
325
- - http://svn.apache.org/repos/asf/incubator/#{spec.name}/trunk/
358
+ - http://svn.apache.org/repos/asf/incubator/buildr/trunk/
326
359
  require_paths:
327
360
  - lib
328
361
  - addon
@@ -1,265 +0,0 @@
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
-
17
- require 'buildr/java/test_frameworks'
18
-
19
-
20
- module Buildr
21
-
22
- # Mixin for test frameworks using src/spec/{lang}
23
- module TestFramework::JavaBDD #:nodoc:
24
-
25
- class << self
26
- def included(mod)
27
- mod.module_eval do
28
- include TestFramework::JavaTest
29
- include ClassMethods
30
- end
31
- mod.extend ClassMethods
32
- mod.bdd_dir = :spec
33
- mod.lang = :java
34
- super
35
- end
36
- end
37
-
38
- module ClassMethods
39
- attr_accessor :lang, :bdd_dir
40
- end
41
-
42
- def initialize(task, options)
43
- self.bdd_dir = self.class.bdd_dir
44
- project = task.project
45
- project.task('test:compile').tap do |comp|
46
- comp.send :associate_with, project, bdd_dir
47
- self.lang = comp.language || self.class.lang
48
- end
49
- project.task('test:resources').tap do |res|
50
- res.send :associate_with, project, bdd_dir
51
- res.filter.clear
52
- project.path_to(:source, bdd_dir, :resources).tap { |dir| res.from dir if File.exist?(dir) }
53
- end
54
- super
55
- end
56
- end
57
-
58
- class RSpec < TestFramework::Base
59
- include TestFramework::JavaBDD
60
- self.lang = :ruby
61
-
62
-
63
- REQUIRES = []
64
- REQUIRES.unshift 'org.jruby:jruby-complete:jar:1.1.1' unless RUBY_PLATFORM =~ /java/
65
-
66
- TESTS_PATTERN = [ /_spec.rb$/ ]
67
- OPTIONS = [:properties, :java_args]
68
-
69
- def self.applies_to?(project) #:nodoc:
70
- !Dir[project.path_to(:source, bdd_dir, lang, '**/*_spec.rb')].empty?
71
- end
72
-
73
- def tests(dependencies) #:nodoc:
74
- Dir[task.project.path_to(:source, bdd_dir, lang, '**/*_spec.rb')].
75
- select do |name|
76
- selector = ENV['SPEC']
77
- selector.nil? || Regexp.new(selector) === name
78
- end
79
- end
80
-
81
- def run(tests, dependencies) #:nodoc:
82
- cmd_options = task.options.only(:properties, :java_args)
83
- dependencies.push *Dir.glob(File.join(jruby_home, "lib/*.jar")) if RUBY_PLATFORM =~ /java/
84
- cmd_options.update :classpath => dependencies, :project => task.project
85
-
86
- # TODO: Setting up JRuby is something to do before running Buildr.
87
- #install_gems(cmd_options)
88
-
89
- report_dir = task.report_to.to_s
90
- FileUtils.rm_rf report_dir
91
- ENV['CI_REPORTS'] = report_dir
92
-
93
- jruby("-Ilib", "-S", "spec",
94
- "--require", "ci/reporter/rake/rspec_loader",
95
- "--format", "CI::Reporter::RSpecDoc", tests,
96
- cmd_options.merge({:name => "RSpec"}))
97
- tests
98
- end
99
-
100
- private
101
- def jruby_home
102
- @jruby_home ||= RUBY_PLATFORM =~ /java/ ? Config::CONFIG['prefix'] : File.expand_path(".jruby", ENV['HOME'])
103
- end
104
-
105
- def gem_path(project, gem_name, *additional)
106
- dir = Dir["#{jruby_home(project)}/lib/ruby/gems/1.8/gems/#{gem_name}*"].to_a.first
107
- dir = File.join(dir, *additional) unless additional.empty?
108
- dir
109
- end
110
-
111
- def required_gems(options)
112
- ["ci_reporter", options[:required_gems]].flatten.compact
113
- end
114
-
115
- def jruby(*args)
116
- java_args = ["org.jruby.Main", *args]
117
- java_args << {} unless Hash === args.last
118
- cmd_options = java_args.last
119
- project = cmd_options.delete(:project)
120
- cmd_options[:java_args] ||= []
121
- cmd_options[:java_args] << "-Xmx512m" unless cmd_options[:java_args].detect {|a| a =~ /^-Xmx/}
122
- cmd_options[:properties] ||= {}
123
- cmd_options[:properties]["jruby.home"] = jruby_home
124
- Java::Commands.java(*java_args)
125
- end
126
-
127
- #def install_gems(options)
128
- # unless required_gems(options).all? {|g| gem_path(options[:project], g)}
129
- # args = ["-S", "maybe_install_gems", *required_gems(options)]
130
- # args << {:name => "JRuby Setup"}.merge(options)
131
- # jruby(*args)
132
- # end
133
- #end
134
-
135
- end
136
-
137
- class JtestR < TestFramework::Base
138
- include TestFramework::JavaBDD
139
- self.lang = :ruby
140
- end
141
-
142
- # JBehave is a Java BDD framework. To use in your project:
143
- # test.using :jbehave
144
- #
145
- # This framework will search in your project for:
146
- # src/spec/java/**/*Behaviour.java
147
- #
148
- # JMock libraries are included on runtime.
149
- #
150
- # Support the following options:
151
- # * :properties -- Hash of properties to the test suite
152
- # * :java_args -- Arguments passed to the JVM
153
- class JBehave < TestFramework::Base
154
- include TestFramework::JavaBDD
155
-
156
- VERSION = "1.0.1" unless const_defined?('VERSION')
157
- REQUIRES = ["org.jbehave:jbehave:jar:#{VERSION}",
158
- "jmock:jmock-cglib:jar:#{JMock::VERSION}",
159
- "cglib:cglib-full:jar:2.0.2",
160
- ] + JUnit::REQUIRES
161
- TESTS_PATTERN = [ /Behaviou?r$/ ]
162
-
163
- def self.applies_to?(project) #:nodoc:
164
- %w{
165
- **/*Behaviour.java **/*Behavior.java
166
- }.any? { |glob| !Dir[project.path_to(:source, bdd_dir, lang, glob)].empty? }
167
- end
168
-
169
- def tests(dependencies) #:nodoc:
170
- filter_classes(dependencies, :class_names => TESTS_PATTERN,
171
- :interfaces => %w{ org.jbehave.core.behaviour.Behaviours })
172
- end
173
-
174
- def run(tests, dependencies) #:nodoc:
175
- cmd_args = ['org.jbehave.core.BehaviourRunner']
176
- cmd_options = { :properties=>options[:properties], :java_args=>options[:java_args], :classpath=>dependencies }
177
- tests.inject([]) do |passed, test|
178
- begin
179
- Java::Commands.java cmd_args, test, cmd_options
180
- passed << test
181
- rescue
182
- passed
183
- end
184
- end
185
- end
186
-
187
- end
188
-
189
- # EasyB is a Groovy based BDD framework.
190
- # To use in your project:
191
- #
192
- # test.using :easyb
193
- #
194
- # This framework will search in your project for:
195
- # src/spec/groovy/**/*Story.groovy
196
- # src/spec/groovy/**/*Behavior.groovy
197
- #
198
- # Support the following options:
199
- # * :format -- Report format :txt or :xml, default is :txt
200
- # * :properties -- Hash of properties passed to the test suite.
201
- # * :java_args -- Arguments passed to the JVM.
202
- class EasyB < TestFramework::Base
203
- include TestFramework::JavaBDD
204
- self.lang = :groovy
205
-
206
- VERSION = "0.7" unless const_defined?(:VERSION)
207
- REQUIRES = ["org.easyb:easyb:jar:#{VERSION}",
208
- 'org.codehaus.groovy:groovy:jar:1.5.3',
209
- 'asm:asm:jar:2.2.3',
210
- 'commons-cli:commons-cli:jar:1.0',
211
- 'antlr:antlr:jar:2.7.7']
212
- TESTS_PATTERN = [ /(Story|Behavior).groovy$/ ]
213
- OPTIONS = [:format, :properties, :java_args]
214
-
215
- def self.applies_to?(project) #:nodoc:
216
- %w{
217
- **/*Behaviour.groovy **/*Behavior.groovy **/*Story.groovy
218
- }.any? { |glob| !Dir[project.path_to(:source, bdd_dir, lang, glob)].empty? }
219
- end
220
-
221
- def tests(dependencies) #:nodoc:
222
- Dir[task.project.path_to(:source, bdd_dir, lang, "**/*.groovy")].
223
- select { |name| TESTS_PATTERN.any? { |pat| pat === name } }
224
- end
225
-
226
- def run(tests, dependencies) #:nodoc:
227
- options = { :format => :txt }.merge(self.options).only(*OPTIONS)
228
-
229
- if :txt == options[:format]
230
- easyb_format, ext = 'txtstory', '.txt'
231
- elsif :xml == options[:format]
232
- easyb_format, ext = 'xmlbehavior', '.xml'
233
- else
234
- raise "Invalid format #{options[:format]} expected one of :txt :xml"
235
- end
236
-
237
- cmd_args = [ 'org.disco.easyb.SpecificationRunner' ]
238
- cmd_options = { :properties => options[:properties],
239
- :java_args => options[:java_args],
240
- :classpath => dependencies }
241
-
242
- tests.inject([]) do |passed, test|
243
- name = test.sub(/.*?groovy[\/\\]/, '').pathmap('%X')
244
- report = File.join(task.report_to.to_s, name + ext)
245
- mkpath report.pathmap('%d'), :verbose => false
246
- begin
247
- Java::Commands.java cmd_args,
248
- "-#{easyb_format}", report,
249
- test, cmd_options.merge(:name => name)
250
- rescue => e
251
- passed
252
- else
253
- passed << test
254
- end
255
- end
256
- end
257
-
258
- end # EasyB
259
-
260
- end
261
-
262
- Buildr::TestFramework << Buildr::RSpec
263
- Buildr::TestFramework << Buildr::JtestR
264
- Buildr::TestFramework << Buildr::JBehave
265
- Buildr::TestFramework << Buildr::EasyB