buildr 1.4.4-x86-mswin32 → 1.4.5-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.
Files changed (103) hide show
  1. data/CHANGELOG +46 -0
  2. data/Rakefile +0 -1
  3. data/addon/buildr/bnd.rb +147 -0
  4. data/addon/buildr/jaxb_xjc.rb +72 -0
  5. data/addon/buildr/protobuf.rb +14 -1
  6. data/buildr.gemspec +6 -2
  7. data/doc/artifacts.textile +6 -0
  8. data/doc/contributing.textile +3 -0
  9. data/doc/download.textile +60 -0
  10. data/doc/index.textile +9 -15
  11. data/doc/installing.textile +23 -6
  12. data/doc/mailing_lists.textile +4 -0
  13. data/doc/more_stuff.textile +333 -6
  14. data/doc/packaging.textile +187 -1
  15. data/lib/buildr.rb +8 -1
  16. data/lib/buildr/clojure.rb +34 -0
  17. data/lib/buildr/clojure/shell.rb +52 -0
  18. data/lib/buildr/core.rb +3 -0
  19. data/lib/buildr/core/#application.rb# +700 -0
  20. data/lib/buildr/core/application.rb +18 -8
  21. data/lib/buildr/core/build.rb +2 -2
  22. data/lib/buildr/core/cc.rb +57 -63
  23. data/lib/buildr/core/checks.rb +4 -5
  24. data/lib/buildr/core/doc.rb +3 -1
  25. data/lib/buildr/core/generate.rb +2 -0
  26. data/lib/buildr/core/jrebel.rb +42 -0
  27. data/lib/buildr/core/linux.rb +30 -0
  28. data/lib/buildr/core/project.rb +9 -8
  29. data/lib/buildr/core/run.rb +3 -3
  30. data/lib/buildr/core/shell.rb +29 -90
  31. data/lib/buildr/core/test.rb +3 -3
  32. data/lib/buildr/core/transports.rb +5 -5
  33. data/lib/buildr/core/util.rb +2 -2
  34. data/lib/buildr/groovy.rb +1 -0
  35. data/lib/buildr/groovy/compiler.rb +12 -1
  36. data/lib/buildr/groovy/doc.rb +76 -0
  37. data/lib/buildr/groovy/shell.rb +24 -15
  38. data/lib/buildr/ide.rb +1 -1
  39. data/lib/buildr/ide/idea.rb +527 -141
  40. data/lib/buildr/java/bdd.rb +18 -13
  41. data/lib/buildr/java/ecj.rb +1 -3
  42. data/lib/buildr/java/jtestr_result.rb +295 -0
  43. data/lib/buildr/java/jtestr_runner.rb.erb +4 -6
  44. data/lib/buildr/java/packaging.rb +14 -3
  45. data/lib/buildr/java/pom.rb +6 -2
  46. data/lib/buildr/java/test_result.rb +15 -243
  47. data/lib/buildr/java/tests.rb +1 -1
  48. data/lib/buildr/packaging.rb +2 -1
  49. data/lib/buildr/packaging/#package.rb.rej# +19 -0
  50. data/lib/buildr/packaging/archive.rb +13 -3
  51. data/lib/buildr/packaging/artifact.rb +11 -12
  52. data/lib/buildr/packaging/tar.rb +4 -1
  53. data/lib/buildr/packaging/zip.rb +106 -1
  54. data/lib/buildr/resources/completed.png +0 -0
  55. data/lib/buildr/resources/failed.png +0 -0
  56. data/lib/buildr/resources/icons-license.txt +17 -0
  57. data/lib/buildr/run.rb +7 -14
  58. data/lib/buildr/scala/#Untitled-2# +7 -0
  59. data/lib/buildr/scala/bdd.rb +1 -1
  60. data/lib/buildr/scala/compiler.rb +1 -1
  61. data/lib/buildr/scala/doc.rb +20 -2
  62. data/lib/buildr/scala/shell.rb +14 -22
  63. data/lib/buildr/scala/tests.rb +2 -2
  64. data/lib/buildr/shell.rb +113 -108
  65. data/lib/buildr/version.rb +1 -1
  66. data/rakelib/checks.rake +9 -7
  67. data/rakelib/doc.rake +10 -0
  68. data/rakelib/release.rake +9 -0
  69. data/rakelib/rspec.rake +27 -28
  70. data/rakelib/setup.rake +1 -1
  71. data/rakelib/stage.rake +2 -2
  72. data/spec/addon/bnd_spec.rb +330 -0
  73. data/spec/addon/jaxb_xjc_spec.rb +125 -0
  74. data/spec/core/application_spec.rb +1 -1
  75. data/spec/core/build_spec.rb +7 -7
  76. data/spec/core/cc_spec.rb +154 -104
  77. data/spec/core/compile_spec.rb +3 -3
  78. data/spec/core/project_spec.rb +10 -0
  79. data/spec/core/run_spec.rb +1 -0
  80. data/spec/core/shell_spec.rb +146 -0
  81. data/spec/groovy/doc_spec.rb +65 -0
  82. data/spec/ide/eclipse_spec.rb +1 -1
  83. data/spec/ide/idea_spec.rb +1145 -0
  84. data/spec/java/bdd_spec.rb +3 -3
  85. data/spec/java/emma_spec.rb +2 -0
  86. data/spec/java/packaging_spec.rb +40 -11
  87. data/spec/java/test_coverage_helper.rb +1 -1
  88. data/spec/packaging/archive_spec.rb +76 -21
  89. data/spec/packaging/artifact_namespace_spec.rb +1 -1
  90. data/spec/packaging/artifact_spec.rb +14 -7
  91. data/spec/sandbox.rb +11 -4
  92. data/spec/scala/bdd_spec.rb +2 -2
  93. data/spec/scala/compiler_spec.rb +2 -2
  94. data/spec/scala/doc_spec.rb +24 -4
  95. data/spec/scala/scala.rb +2 -2
  96. data/spec/scala/tests_spec.rb +2 -2
  97. data/spec/spec_helpers.rb +9 -8
  98. data/spec/xpath_matchers.rb +121 -0
  99. metadata +246 -166
  100. data/lib/buildr/ide/idea.ipr.template +0 -300
  101. data/lib/buildr/ide/idea7x.ipr.template +0 -290
  102. data/lib/buildr/ide/idea7x.rb +0 -231
  103. data/spec/ide/idea7x_spec.rb +0 -96
@@ -29,7 +29,7 @@ describe Buildr::RSpec do
29
29
 
30
30
  it 'should read passed specs from result yaml' do
31
31
  write('src/spec/ruby/success_spec.rb', 'describe("success") { it("is true") { nil.should be_nil } }')
32
-
32
+
33
33
  project('foo').test.invoke
34
34
  project('foo').test.passed_tests.should eql([File.expand_path('src/spec/ruby/success_spec.rb')])
35
35
  end
@@ -41,7 +41,7 @@ describe Buildr::RSpec do
41
41
  write(failure, 'describe("failure") { it("is false") { true.should == false } }')
42
42
  error = File.expand_path('src/spec/ruby/error_spec.rb')
43
43
  write(error, 'describe("error") { it("raises") { lambda; } }')
44
-
44
+
45
45
  lambda { project('foo').test.invoke }.should raise_error(/Tests failed/)
46
46
  project('foo').test.tests.should include(success, failure, error)
47
47
  project('foo').test.failed_tests.sort.should eql([failure, error].sort)
@@ -234,7 +234,7 @@ describe Buildr::JtestR do
234
234
  failure = File.expand_path('src/spec/ruby/failure_expect.rb')
235
235
  write(failure, 'Expectations { expect(true) { false } }')
236
236
  error = File.expand_path('src/spec/ruby/error_expect.rb')
237
- write(error, 'Expectations { expect(nil) { lambda; } }')
237
+ write(error, 'Expectations { expect(nil) { lambda {}; } }')
238
238
  foo do
239
239
  lambda { test.invoke }.should raise_error(/Tests failed/)
240
240
  test.tests.should include(success, failure, error)
@@ -20,6 +20,8 @@ artifacts(Buildr::Emma::dependencies).map(&:invoke)
20
20
 
21
21
 
22
22
  describe Buildr::Emma do
23
+ include TestCoverageHelper
24
+
23
25
  before do
24
26
  # Reloading the extension because the sandbox removes all its actions
25
27
  Buildr.module_eval { remove_const :Emma }
@@ -346,7 +346,7 @@ describe Project, '#meta_inf' do
346
346
  end
347
347
 
348
348
 
349
- describe 'package with meta_inf', :shared=>true do
349
+ shared_examples_for 'package with meta_inf' do
350
350
 
351
351
  def package_with_meta_inf(meta_inf = nil)
352
352
  packaging = @packaging
@@ -778,6 +778,39 @@ describe Packaging, 'ear' do
778
778
  inspect_application_xml { |xml| xml.get_text('/application/display-name').should == 'bar' }
779
779
  end
780
780
 
781
+ it 'should set description in application.xml to project comment if not specified' do
782
+ desc "MyDescription"
783
+ define 'foo', :version=>'1.0' do
784
+ package(:ear)
785
+ end
786
+ inspect_application_xml { |xml| xml.get_text('/application/description').should == 'MyDescription' }
787
+ end
788
+
789
+ it 'should not set description in application.xml if not specified and no project comment' do
790
+ define 'foo', :version=>'1.0' do
791
+ package(:ear)
792
+ end
793
+ inspect_application_xml { |xml| xml.get_text('/application/description').should be_nil }
794
+ end
795
+
796
+ it 'should set description in application.xml if specified' do
797
+ define 'foo', :version=>'1.0' do
798
+ package(:ear).description = "MyDescription"
799
+ end
800
+ inspect_application_xml { |xml| xml.get_text('/application/description').should == 'MyDescription' }
801
+ end
802
+
803
+ it 'should add security-roles to application.xml if given' do
804
+ define 'foo', :version=>'1.0' do
805
+ package(:ear).security_roles << {:id=>'sr1',
806
+ :description=>'System Administrator', :name=>'systemadministrator'}
807
+ end
808
+ inspect_application_xml do |xml|
809
+ xml.get_text("/application/security-role[@id='sr1']/description").to_s.should eql('System Administrator')
810
+ xml.get_text("/application/security-role[@id='sr1']/role-name").to_s.should eql('systemadministrator')
811
+ end
812
+ end
813
+
781
814
  it 'should map WARs to /war directory' do
782
815
  define 'foo', :version=>'1.0' do
783
816
  package(:ear) << package(:war)
@@ -1136,16 +1169,15 @@ describe Packaging, 'sources' do
1136
1169
  end
1137
1170
  end
1138
1171
 
1139
-
1140
1172
  describe Packaging, 'javadoc' do
1141
1173
  it_should_behave_like 'packaging'
1142
- before { @packaging, @package_type = :javadoc, :zip }
1174
+ before { @packaging, @package_type = :javadoc, :jar }
1143
1175
 
1144
1176
  it 'should create package of type :zip and classifier \'javadoc\'' do
1145
1177
  define 'foo', :version=>'1.0' do
1146
- package(:javadoc).type.should eql(:zip)
1178
+ package(:javadoc).type.should eql(:jar)
1147
1179
  package(:javadoc).classifier.should eql('javadoc')
1148
- package(:javadoc).name.pathmap('%f').should eql('foo-1.0-javadoc.zip')
1180
+ package(:javadoc).name.pathmap('%f').should eql('foo-1.0-javadoc.jar')
1149
1181
  end
1150
1182
  end
1151
1183
 
@@ -1171,7 +1203,6 @@ describe Packaging, 'javadoc' do
1171
1203
  end
1172
1204
  end
1173
1205
 
1174
-
1175
1206
  shared_examples_for 'package_with_' do
1176
1207
 
1177
1208
  def prepare(options = {})
@@ -1190,9 +1221,7 @@ shared_examples_for 'package_with_' do
1190
1221
 
1191
1222
  it 'should create package of the right packaging with classifier' do
1192
1223
  prepare
1193
- ext = "zip"
1194
- ext = "jar" if @packaging == :sources
1195
- project('foo').packages.first.to_s.should =~ /foo-1.0-#{@packaging}.#{ext}/
1224
+ project('foo').packages.first.to_s.should =~ /foo-1.0-#{@packaging}.#{@ext}/
1196
1225
  end
1197
1226
 
1198
1227
  it 'should create package for projects that have source files' do
@@ -1228,10 +1257,10 @@ end
1228
1257
 
1229
1258
  describe 'package_with_sources' do
1230
1259
  it_should_behave_like 'package_with_'
1231
- before { @packaging = :sources }
1260
+ before { @packaging, @ext = :sources, 'jar' }
1232
1261
  end
1233
1262
 
1234
1263
  describe 'package_with_javadoc' do
1235
1264
  it_should_behave_like 'package_with_'
1236
- before { @packaging = :javadoc }
1265
+ before { @packaging, @ext = :javadoc, 'jar' }
1237
1266
  end
@@ -53,7 +53,7 @@ module TestCoverageHelper
53
53
  end
54
54
  end
55
55
 
56
- describe 'test coverage tool', :shared=>true do
56
+ shared_examples_for 'test coverage tool' do
57
57
  include TestCoverageHelper
58
58
 
59
59
  def toolname
@@ -17,25 +17,26 @@
17
17
  require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helpers'))
18
18
 
19
19
 
20
- describe 'ArchiveTask', :shared=>true do
21
- before do
22
- @dir = File.expand_path('test')
23
- @files = %w{Test1.txt Text2.html}.map { |file| File.expand_path(file, @dir) }.
24
- each { |file| write file, content_for(file) }
25
- @empty_dirs = %w{EmptyDir1 EmptyDir2}.map { |file| File.expand_path(file, @dir) }.
26
- each { |file| mkdir file }
27
- end
28
-
20
+ module ArchiveTaskHelpers
29
21
  # Not too smart, we just create some content based on file name to make sure you read what you write.
30
22
  def content_for(file)
31
23
  "Content for #{File.basename(file)}"
32
24
  end
33
25
 
26
+ # Qualify a filename
27
+ #
28
+ # e.g. qualify("file.zip", "src") => "file-src.zip"
29
+ def qualify(filename, qualifier)
30
+ ext = (filename =~ /\.$/) ? "." : File.extname(filename)
31
+ base = filename[0..0-ext.size-1]
32
+ base + "-" + qualifier + ext
33
+ end
34
+
34
35
  # Create an archive not using the archive task, this way we do have a file in existence, but we don't
35
36
  # have an already invoked task. Yield an archive task to the block which can use it to include files,
36
37
  # set options, etc.
37
38
  def create_without_task
38
- archive(@archive + '.tmp').tap do |task|
39
+ archive(qualify(@archive, "tmp")).tap do |task|
39
40
  yield task if block_given?
40
41
  task.invoke
41
42
  mv task.name, @archive
@@ -43,11 +44,29 @@ describe 'ArchiveTask', :shared=>true do
43
44
  end
44
45
 
45
46
  def create_for_merge
46
- zip(@archive + '.src').include(@files).tap do |task|
47
+ zip(qualify(@archive, "src")).include(@files).tap do |task|
47
48
  yield task
48
49
  end
49
50
  end
50
51
 
52
+ def init_dir
53
+ unless @dir
54
+ @dir = File.expand_path('test')
55
+ @files = %w{Test1.txt Text2.html}.map { |file| File.expand_path(file, @dir) }.
56
+ each { |file| write file, content_for(file) }
57
+ @empty_dirs = %w{EmptyDir1 EmptyDir2}.map { |file| File.expand_path(file, @dir) }.
58
+ each { |file| mkdir file }
59
+ end
60
+ end
61
+ end
62
+
63
+ shared_examples_for 'ArchiveTask' do
64
+ include ArchiveTaskHelpers
65
+
66
+ before(:each) do
67
+ init_dir
68
+ end
69
+
51
70
  it 'should point to archive file' do
52
71
  archive(@archive).name.should eql(@archive)
53
72
  end
@@ -281,7 +300,7 @@ describe 'ArchiveTask', :shared=>true do
281
300
  it 'should expand another archive file with nested exclude pattern' do
282
301
  @files = %w{Test1.txt Text2.html}.map { |file| File.join(@dir, "foo", file) }.
283
302
  each { |file| write file, content_for(file) }
284
- zip(@archive + '.src').include(@dir).tap do |task|
303
+ zip(qualify(@archive, "src")).include(@dir).tap do |task|
285
304
  archive(@archive).merge(task).exclude('test/*')
286
305
  archive(@archive).invoke
287
306
  inspect_archive.should be_empty
@@ -329,6 +348,22 @@ describe 'ArchiveTask', :shared=>true do
329
348
  File.stat(@archive).mtime.should be_close(Time.now, 10)
330
349
  end
331
350
 
351
+ it 'should update if a file in a subdir is more recent' do
352
+ subdir = File.expand_path("subdir", @dir)
353
+ test3 = File.expand_path("test3.css", subdir)
354
+
355
+ mkdir_p subdir
356
+ write test3, '/* Original */'
357
+
358
+ create_without_task { |archive| archive.include(:from => @dir) }
359
+ inspect_archive { |archive| archive["subdir/test3.css"].should eql('/* Original */') }
360
+
361
+ write test3, '/* Refreshed */'
362
+ File.utime(Time.now + 100, Time.now + 100, test3)
363
+ archive(@archive).include(:from => @dir).invoke
364
+ inspect_archive { |archive| archive["subdir/test3.css"].should eql('/* Refreshed */') }
365
+ end
366
+
332
367
  it 'should do nothing if all files are uptodate' do
333
368
  create_without_task { |archive| archive.include(@files) }
334
369
  # By touching all files in the past, there's nothing new to update.
@@ -359,10 +394,13 @@ describe 'ArchiveTask', :shared=>true do
359
394
  end
360
395
  end
361
396
 
362
-
363
397
  describe TarTask do
364
398
  it_should_behave_like 'ArchiveTask'
365
- before { @archive = File.expand_path('test.tar') }
399
+
400
+ before(:each) do
401
+ @archive = File.expand_path('test.tar')
402
+ end
403
+
366
404
  define_method(:archive) { |file| tar(file) }
367
405
 
368
406
  def inspect_archive
@@ -378,7 +416,11 @@ end
378
416
 
379
417
  describe TarTask, ' gzipped' do
380
418
  it_should_behave_like 'ArchiveTask'
381
- before { @archive = File.expand_path('test.tgz') }
419
+
420
+ before(:each) do
421
+ @archive = File.expand_path('test.tgz')
422
+ end
423
+
382
424
  define_method(:archive) { |file| tar(file) }
383
425
 
384
426
  def inspect_archive
@@ -393,24 +435,38 @@ describe TarTask, ' gzipped' do
393
435
  end
394
436
  end
395
437
 
438
+ describe "ZipTask" do
439
+ include ArchiveTaskHelpers
396
440
 
397
- describe ZipTask do
398
441
  it_should_behave_like 'ArchiveTask'
399
- before { @archive = File.expand_path('test.zip') }
442
+
443
+ before(:each) do
444
+ init_dir
445
+ @archive = File.expand_path('test.zip')
446
+ end
447
+
400
448
  define_method(:archive) { |file| zip(file) }
401
449
 
402
- after do
450
+ after(:each) do
403
451
  checkZip(@archive)
404
452
  end
405
453
 
406
- # Check for possible corruption usign Java's ZipInputStream since it's stricter than rubyzip
454
+ # Check for possible corruption using Java's ZipInputStream and Java's "jar" command since
455
+ # they are stricter than rubyzip
407
456
  def checkZip(file)
408
457
  return unless File.exist?(file)
409
458
  zip = Java.java.util.zip.ZipInputStream.new(Java.java.io.FileInputStream.new(file))
459
+ zip_entry_count = 0
410
460
  while entry = zip.getNextEntry do
411
461
  # just iterate over all entries
462
+ zip_entry_count = zip_entry_count + 1
412
463
  end
413
464
  zip.close()
465
+
466
+ # jar tool fails with "ZipException: error in opening zip file" if empty
467
+ if zip_entry_count > 0
468
+ sh "#{File.join(ENV['JAVA_HOME'], 'bin', 'jar')} tvf #{file}"
469
+ end
414
470
  end
415
471
 
416
472
  def inspect_archive
@@ -473,9 +529,8 @@ describe ZipTask do
473
529
 
474
530
  end
475
531
 
476
-
477
532
  describe Unzip do
478
- before do
533
+ before(:each) do
479
534
  @zip = File.expand_path('test.zip')
480
535
  @dir = File.expand_path('test')
481
536
  @files = %w{Test1.txt Text2.html}.map { |file| File.join(@dir, file) }.
@@ -661,7 +661,7 @@ describe "Extension using ArtifactNamespace" do
661
661
  end
662
662
  end
663
663
 
664
- include Spec::Matchers # for assertions
664
+ include RSpec::Matchers # for assertions
665
665
 
666
666
  # Called with the ArtifactRequirement that has just been selected
667
667
  # by a user. This allows extension author to selectively perform
@@ -252,7 +252,7 @@ describe Repositories, 'remote' do
252
252
 
253
253
  it 'should support artifact classifier' do
254
254
  repositories.remote = 'http://example.com'
255
- URI.should_receive(:download).twice.and_return { |uri, target, options| write target }
255
+ URI.should_receive(:download).once.and_return { |uri, target, options| write target }
256
256
  lambda { artifact('com.example:library:jar:all:2.0').invoke }.
257
257
  should change { File.exist?(File.join(repositories.local, 'com/example/library/2.0/library-2.0-all.jar')) }.to(true)
258
258
  end
@@ -752,13 +752,22 @@ describe Buildr, '#install' do
752
752
  snapshot.invoke
753
753
  end
754
754
 
755
- it 'should install POM alongside artifact' do
755
+ it 'should install POM alongside artifact (if artifact has no classifier)' do
756
756
  pom = artifact(@spec).pom
757
757
  write @file
758
758
  install artifact(@spec).from(@file)
759
759
  lambda { install.invoke }.should change { File.exist?(repositories.locate(pom)) }.to(true)
760
760
  end
761
761
 
762
+ it 'should not install POM alongside artifact if artifact has classifier' do
763
+ @spec = 'group:id:jar:all:1.0'
764
+ pom = artifact(@spec).pom
765
+ write @file
766
+ p method(:install)
767
+ install artifact(@spec).from(@file)
768
+ lambda { install.invoke }.should_not change { File.exist?(repositories.locate(pom)) }.to(true)
769
+ end
770
+
762
771
  it 'should reinstall POM alongside artifact' do
763
772
  pom = artifact(@spec).pom
764
773
  write @file
@@ -812,14 +821,11 @@ describe ActsAsArtifact, '#upload' do
812
821
  verbose(false) { artifact.upload(:url=>'sftp://example.com/base') }
813
822
  end
814
823
 
815
- it 'should support artifact classifier' do
824
+ it 'should support artifact classifier and should not upload pom if artifact has classifier' do
816
825
  artifact = artifact('com.example:library:jar:all:2.0')
817
826
  # Prevent artifact from downloading anything.
818
827
  write repositories.locate(artifact)
819
- write repositories.locate(artifact.pom)
820
- URI.should_receive(:upload).at_least(:once).
821
- with(URI.parse('sftp://example.com/base/com/example/library/2.0/library-2.0.pom'), artifact.pom.to_s, anything)
822
- URI.should_receive(:upload).at_least(:once).
828
+ URI.should_receive(:upload).exactly(:once).
823
829
  with(URI.parse('sftp://example.com/base/com/example/library/2.0/library-2.0-all.jar'), artifact.to_s, anything)
824
830
  verbose(false) { artifact.upload(:url=>'sftp://example.com/base') }
825
831
  end
@@ -842,6 +848,7 @@ describe ActsAsArtifact, '#upload' do
842
848
  artifact.upload
843
849
  lambda { artifact.upload }.should_not raise_error
844
850
  end
851
+
845
852
  end
846
853
 
847
854
 
data/spec/sandbox.rb CHANGED
@@ -21,19 +21,26 @@ Buildr.application.instance_eval { @rakefile = File.expand_path('buildfile') }
21
21
  repositories.remote << 'http://repo1.maven.org/maven2'
22
22
  repositories.remote << 'http://scala-tools.org/repo-releases'
23
23
 
24
- # Force Scala 2.8.0 for specs; don't want to rely on SCALA_HOME
25
- Buildr.settings.build['scala.version'] = "2.8.0"
24
+ # Force Scala 2.8.1 for specs; don't want to rely on SCALA_HOME
25
+ Buildr.settings.build['scala.version'] = "2.8.1"
26
26
 
27
27
  # Add a 'require' here only for optional extensions, not for extensions that should be loaded by default.
28
+ require 'buildr/clojure'
28
29
  require 'buildr/groovy'
29
30
  require 'buildr/scala'
31
+ require 'buildr/bnd'
32
+ require 'buildr/jaxb_xjc'
30
33
 
31
34
  Java.load # Anything added to the classpath.
32
35
  artifacts(
33
36
  TestFramework.frameworks.map(&:dependencies).flatten,
34
37
  JUnit.ant_taskdef,
35
- Buildr::Groovy::Groovyc.dependencies,
36
- Buildr::Scala::Specs.dependencies
38
+ Buildr::Groovy.dependencies,
39
+ Buildr::JaxbXjc.dependencies,
40
+ Buildr::Bnd.dependencies,
41
+ Buildr::Scala::Specs.dependencies,
42
+ Buildr::Shell::BeanShell.artifact,
43
+ Buildr::Clojure.dependencies
37
44
  ).each do |path|
38
45
  file(path).invoke
39
46
  end
@@ -19,8 +19,8 @@ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helpers')
19
19
  describe Buildr::Scala::Specs do
20
20
 
21
21
  before(:each) do
22
- # Force Scala 2.8.0 for specs; don't want to rely on SCALA_HOME
23
- Buildr.settings.build['scala.version'] = "2.8.0"
22
+ # Force Scala 2.8.1 for specs; don't want to rely on SCALA_HOME
23
+ Buildr.settings.build['scala.version'] = "2.8.1"
24
24
  end
25
25
 
26
26
  it 'should be the default when tests in src/spec/scala' do
@@ -20,8 +20,8 @@ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helpers')
20
20
  share_as :ScalacCompiler do
21
21
 
22
22
  before(:each) do
23
- # Force Scala 2.8.0 for specs; don't want to rely on SCALA_HOME
24
- Buildr.settings.build['scala.version'] = "2.8.0"
23
+ # Force Scala 2.8.1 for specs; don't want to rely on SCALA_HOME
24
+ Buildr.settings.build['scala.version'] = "2.8.1"
25
25
  end
26
26
 
27
27
  it 'should identify itself from source directories' do