buildr 1.4.11-java → 1.4.12-java

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 (79) hide show
  1. data/CHANGELOG +22 -0
  2. data/README.rdoc +2 -0
  3. data/addon/buildr/checkstyle.rb +1 -1
  4. data/addon/buildr/gwt.rb +127 -82
  5. data/addon/buildr/wsgen.rb +19 -1
  6. data/buildr.gemspec +3 -1
  7. data/doc/_layouts/default.html +1 -1
  8. data/doc/download.textile +18 -6
  9. data/doc/index.textile +9 -18
  10. data/lib/buildr.rb +1 -0
  11. data/lib/buildr/clojure.rb +1 -1
  12. data/lib/buildr/clojure/shell.rb +1 -1
  13. data/lib/buildr/core/application.rb +3 -2
  14. data/lib/buildr/core/build.rb +2 -3
  15. data/lib/buildr/core/cc.rb +1 -1
  16. data/lib/buildr/core/checks.rb +2 -3
  17. data/lib/buildr/core/common.rb +1 -1
  18. data/lib/buildr/core/compile.rb +1 -1
  19. data/lib/buildr/core/doc.rb +2 -3
  20. data/lib/buildr/core/environment.rb +1 -1
  21. data/lib/buildr/core/filter.rb +1 -1
  22. data/lib/buildr/core/generate.rb +1 -1
  23. data/lib/buildr/core/help.rb +1 -1
  24. data/lib/buildr/core/jrebel.rb +1 -1
  25. data/lib/buildr/core/progressbar.rb +1 -1
  26. data/lib/buildr/core/project.rb +1 -1
  27. data/lib/buildr/core/run.rb +2 -2
  28. data/lib/buildr/core/shell.rb +2 -3
  29. data/lib/buildr/core/test.rb +1 -1
  30. data/lib/buildr/core/util.rb +1 -1
  31. data/lib/buildr/groovy/bdd.rb +1 -1
  32. data/lib/buildr/groovy/compiler.rb +1 -0
  33. data/lib/buildr/groovy/doc.rb +4 -4
  34. data/lib/buildr/groovy/shell.rb +2 -2
  35. data/lib/buildr/ide/eclipse.rb +1 -1
  36. data/lib/buildr/ide/idea.rb +45 -14
  37. data/lib/buildr/java/ant.rb +1 -1
  38. data/lib/buildr/java/bdd.rb +1 -1
  39. data/lib/buildr/java/cobertura.rb +1 -1
  40. data/lib/buildr/java/compiler.rb +3 -3
  41. data/lib/buildr/java/deprecated.rb +1 -1
  42. data/lib/buildr/java/doc.rb +3 -3
  43. data/lib/buildr/java/ecj.rb +2 -2
  44. data/lib/buildr/java/emma.rb +1 -1
  45. data/lib/buildr/java/external.rb +2 -2
  46. data/lib/buildr/java/packaging.rb +2 -3
  47. data/lib/buildr/java/pom.rb +1 -0
  48. data/lib/buildr/java/rjb.rb +1 -2
  49. data/lib/buildr/java/test_result.rb +1 -1
  50. data/lib/buildr/java/tests.rb +1 -1
  51. data/lib/buildr/java/version_requirement.rb +1 -1
  52. data/lib/buildr/packaging/archive.rb +2 -2
  53. data/lib/buildr/packaging/artifact.rb +1 -1
  54. data/lib/buildr/packaging/artifact_namespace.rb +1 -1
  55. data/lib/buildr/packaging/artifact_search.rb +1 -2
  56. data/lib/buildr/packaging/gems.rb +1 -1
  57. data/lib/buildr/packaging/package.rb +1 -1
  58. data/lib/buildr/packaging/tar.rb +1 -1
  59. data/lib/buildr/packaging/test_jar.rb +32 -0
  60. data/lib/buildr/packaging/version_requirement.rb +1 -1
  61. data/lib/buildr/packaging/zip.rb +4 -1
  62. data/lib/buildr/packaging/ziptask.rb +1 -1
  63. data/lib/buildr/run.rb +1 -1
  64. data/lib/buildr/scala/bdd.rb +2 -2
  65. data/lib/buildr/scala/compiler.rb +2 -1
  66. data/lib/buildr/scala/doc.rb +5 -4
  67. data/lib/buildr/scala/shell.rb +2 -2
  68. data/lib/buildr/scala/tests.rb +2 -2
  69. data/lib/buildr/shell.rb +2 -2
  70. data/lib/buildr/version.rb +2 -2
  71. data/rakelib/doc.rake +4 -5
  72. data/rakelib/stage.rake +1 -1
  73. data/spec/core/build_spec.rb +15 -6
  74. data/spec/core/common_spec.rb +0 -1
  75. data/spec/core/compile_spec.rb +24 -17
  76. data/spec/java/bdd_spec.rb +23 -27
  77. data/spec/java/packaging_spec.rb +35 -0
  78. data/spec/scala/compiler_spec.rb +8 -6
  79. metadata +6 -18
@@ -541,7 +541,6 @@ describe Buildr::Filter do
541
541
  end
542
542
 
543
543
  it 'should preserve mode bits except readable' do
544
- # legacy: pending "Pending the release of the fix for JRUBY-4927" if RUBY_PLATFORM =~ /java/
545
544
  mode = 0o600
546
545
  Dir['src/*'].each { |file| File.chmod(mode, file) }
547
546
  @filter.from('src').into('target').run
@@ -16,6 +16,13 @@
16
16
 
17
17
  require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helpers'))
18
18
 
19
+ # Return now at the resolution that the current filesystem supports
20
+ # Avoids scenario where Time.now and Time.now + 1 have same value on filesystem
21
+ def now_at_fs_resolution
22
+ test_filename = "#{Dir.pwd}/deleteme"
23
+ FileUtils.touch test_filename
24
+ File.atime(test_filename)
25
+ end
19
26
 
20
27
  module CompilerHelper
21
28
  def compile_task
@@ -334,7 +341,7 @@ describe Buildr::CompileTask, '#invoke' do
334
341
  end
335
342
 
336
343
  it 'should force compilation if target empty' do
337
- time = Time.now
344
+ time = now_at_fs_resolution
338
345
  mkpath compile_task.target.to_s
339
346
  File.utime(time - 1, time - 1, compile_task.target.to_s)
340
347
  lambda { compile_task.from(sources).invoke }.should run_task('foo:compile')
@@ -342,7 +349,7 @@ describe Buildr::CompileTask, '#invoke' do
342
349
 
343
350
  it 'should force compilation if sources newer than compiled' do
344
351
  # Simulate class files that are older than source files.
345
- time = Time.now
352
+ time = now_at_fs_resolution
346
353
  sources.each { |src| File.utime(time + 1, time + 1, src) }
347
354
  sources.map { |src| src.pathmap("#{compile_task.target}/thepackage/%n.class") }.
348
355
  each { |kls| write kls ; File.utime(time, time, kls) }
@@ -352,15 +359,15 @@ describe Buildr::CompileTask, '#invoke' do
352
359
 
353
360
  it 'should not force compilation if sources older than compiled' do
354
361
  # When everything has the same timestamp, nothing is compiled again.
355
- time = Time.now
356
- sources.map { |src| src.pathmap("#{compile_task.target}/thepackage/%n.class") }.
362
+ time = now_at_fs_resolution
363
+ sources.map { |src| File.utime(time, time, src); src.pathmap("#{compile_task.target}/thepackage/%n.class") }.
357
364
  each { |kls| write kls ; File.utime(time, time, kls) }
358
365
  lambda { compile_task.from(sources).invoke }.should_not run_task('foo:compile')
359
366
  end
360
367
 
361
368
  it 'should not force compilation if dependencies older than compiled' do
362
369
  jars; project('jars').task("package").invoke
363
- time = Time.now
370
+ time = now_at_fs_resolution
364
371
  jars.each { |jar| File.utime(time - 1 , time - 1, jar) }
365
372
  sources.map { |src| File.utime(time, time, src); src.pathmap("#{compile_task.target}/thepackage/%n.class") }.
366
373
  each { |kls| write kls ; File.utime(time, time, kls) }
@@ -370,7 +377,7 @@ describe Buildr::CompileTask, '#invoke' do
370
377
  it 'should force compilation if dependencies newer than compiled' do
371
378
  jars; project('jars').task("package").invoke
372
379
  # On my machine the times end up the same, so need to push dependencies in the past.
373
- time = Time.now
380
+ time = now_at_fs_resolution
374
381
  sources.map { |src| src.pathmap("#{compile_task.target}/thepackage/%n.class") }.
375
382
  each { |kls| write kls ; File.utime(time - 1, time - 1, kls) }
376
383
  File.utime(time - 1, time - 1, project('foo').compile.target.to_s)
@@ -379,7 +386,7 @@ describe Buildr::CompileTask, '#invoke' do
379
386
  end
380
387
 
381
388
  it 'should timestamp target directory if specified' do
382
- time = Time.now - 10
389
+ time = now_at_fs_resolution - 10
383
390
  mkpath compile_task.target.to_s
384
391
  File.utime(time, time, compile_task.target.to_s)
385
392
  compile_task.timestamp.should be_close(time, 1)
@@ -387,24 +394,24 @@ describe Buildr::CompileTask, '#invoke' do
387
394
 
388
395
  it 'should touch target if anything compiled' do
389
396
  mkpath compile_task.target.to_s
390
- File.utime(Time.now - 10, Time.now - 10, compile_task.target.to_s)
397
+ File.utime(now_at_fs_resolution - 10, now_at_fs_resolution - 10, compile_task.target.to_s)
391
398
  compile_task.from(sources).invoke
392
- File.stat(compile_task.target.to_s).mtime.should be_close(Time.now, 2)
399
+ File.stat(compile_task.target.to_s).mtime.should be_close(now_at_fs_resolution, 2)
393
400
  end
394
401
 
395
402
  it 'should not touch target if nothing compiled' do
396
403
  mkpath compile_task.target.to_s
397
- File.utime(Time.now - 10, Time.now - 10, compile_task.target.to_s)
404
+ File.utime(now_at_fs_resolution - 10, now_at_fs_resolution - 10, compile_task.target.to_s)
398
405
  compile_task.invoke
399
- File.stat(compile_task.target.to_s).mtime.should be_close(Time.now - 10, 2)
406
+ File.stat(compile_task.target.to_s).mtime.should be_close(now_at_fs_resolution - 10, 2)
400
407
  end
401
408
 
402
409
  it 'should not touch target if failed to compile' do
403
410
  mkpath compile_task.target.to_s
404
- File.utime(Time.now - 10, Time.now - 10, compile_task.target.to_s)
411
+ File.utime(now_at_fs_resolution - 10, now_at_fs_resolution - 10, compile_task.target.to_s)
405
412
  write 'failed.java', 'not a class'
406
413
  suppress_stdout { compile_task.from('failed.java').invoke rescue nil }
407
- File.stat(compile_task.target.to_s).mtime.should be_close(Time.now - 10, 2)
414
+ File.stat(compile_task.target.to_s).mtime.should be_close(now_at_fs_resolution - 10, 2)
408
415
  end
409
416
 
410
417
  it 'should complain if source directories and no compiler selected' do
@@ -420,9 +427,9 @@ describe Buildr::CompileTask, '#invoke' do
420
427
  compile_task.from FileList['src/other/**.java']
421
428
  mkpath 'target/classes/foo'
422
429
  touch 'target/classes/foo/Foo.class'
423
- File.utime(Time.now - 10, Time.now - 10, compile_task.target.to_s)
430
+ File.utime(now_at_fs_resolution - 10, now_at_fs_resolution - 10, compile_task.target.to_s)
424
431
  compile_task.invoke
425
- File.stat(compile_task.target.to_s).mtime.should be_close(Time.now - 10, 2)
432
+ File.stat(compile_task.target.to_s).mtime.should be_close(now_at_fs_resolution - 10, 2)
426
433
  end
427
434
  end
428
435
 
@@ -584,7 +591,7 @@ describe Project, '#resources' do
584
591
  end
585
592
 
586
593
  it 'should copy new resources to target directory' do
587
- time = Time.now
594
+ time = now_at_fs_resolution
588
595
  mkdir_p 'target/resources'
589
596
  File.utime(time-10, time-10, 'target/resources')
590
597
 
@@ -596,7 +603,7 @@ describe Project, '#resources' do
596
603
  end
597
604
 
598
605
  it 'should copy updated resources to target directory' do
599
- time = Time.now
606
+ time = now_at_fs_resolution
600
607
  mkdir_p 'target/resources'
601
608
  write 'target/resources/foo', 'Foo'
602
609
  File.utime(time-10, time-10, 'target/resources')
@@ -27,34 +27,30 @@ describe Buildr::RSpec do
27
27
  project('foo').test.framework.should eql(:rspec)
28
28
  end
29
29
 
30
- it 'should read passed specs from result yaml' do
31
- # This test fails on the CI machine if the spec is run as part of a suite but not if run individually
32
- # This seems to indicate that there is interaction with some other test but until that other test is
33
- # identified the test has been marked as pending on the ci box
34
- pending "Unable to determine why it fails on the CI machine so disabling" if ENV['JOB_NAME']
35
- write('src/spec/ruby/success_spec.rb', 'describe("success") { it("is true") { nil.should be_nil } }')
36
-
37
- project('foo').test.invoke
38
- project('foo').test.passed_tests.should eql([File.expand_path('src/spec/ruby/success_spec.rb')])
39
- end
40
-
41
- it 'should read result yaml to obtain the list of failed specs' do
42
- # This test fails on the CI machine if the spec is run as part of a suite but not if run individually
43
- # This seems to indicate that there is interaction with some other test but until that other test is
44
- # identified the test has been marked as pending on the ci box
45
- pending "Unable to determine why it fails on the CI machine so disabling" if ENV['JOB_NAME']
46
- success = File.expand_path('src/spec/ruby/success_spec.rb')
47
- write(success, 'describe("success") { it("is true") { nil.should be_nil } }')
48
- failure = File.expand_path('src/spec/ruby/failure_spec.rb')
49
- write(failure, 'describe("failure") { it("is false") { true.should == false } }')
50
- error = File.expand_path('src/spec/ruby/error_spec.rb')
51
- write(error, 'describe("error") { it("raises") { lambda; } }')
52
-
53
- lambda { project('foo').test.invoke }.should raise_error(/Tests failed/)
54
- project('foo').test.tests.should include(success, failure, error)
55
- project('foo').test.failed_tests.sort.should eql([failure, error].sort)
56
- project('foo').test.passed_tests.should eql([success])
30
+ # These tests will fail because they expect that a version of rspec will be present in the local gem
31
+ # repository for the jruby that comes out of the maven repository but this is not the case. Disabling
32
+ # These across the board until someone wants to invest the time in refactoring them to work
33
+ if false
34
+ it 'should read passed specs from result yaml' do
35
+ write('src/spec/ruby/success_spec.rb', 'describe("success") { it("is true") { nil.should be_nil } }')
36
+
37
+ project('foo').test.invoke
38
+ project('foo').test.passed_tests.should eql([File.expand_path('src/spec/ruby/success_spec.rb')])
39
+ end
57
40
 
41
+ it 'should read result yaml to obtain the list of failed specs' do
42
+ success = File.expand_path('src/spec/ruby/success_spec.rb')
43
+ write(success, 'describe("success") { it("is true") { nil.should be_nil } }')
44
+ failure = File.expand_path('src/spec/ruby/failure_spec.rb')
45
+ write(failure, 'describe("failure") { it("is false") { true.should == false } }')
46
+ error = File.expand_path('src/spec/ruby/error_spec.rb')
47
+ write(error, 'describe("error") { it("raises") { lambda; } }')
48
+
49
+ lambda { project('foo').test.invoke }.should raise_error(/Tests failed/)
50
+ project('foo').test.tests.should include(success, failure, error)
51
+ project('foo').test.failed_tests.sort.should eql([failure, error].sort)
52
+ project('foo').test.passed_tests.should eql([success])
53
+ end
58
54
  end
59
55
 
60
56
  end if RUBY_PLATFORM =~ /java/ || ENV['JRUBY_HOME'] # RSpec
@@ -1204,6 +1204,41 @@ describe Packaging, 'javadoc' do
1204
1204
  end
1205
1205
  end
1206
1206
 
1207
+ describe Packaging, 'test_jar' do
1208
+ it_should_behave_like 'packaging'
1209
+ before { @packaging, @package_type = :test_jar, :jar }
1210
+
1211
+ it 'should create package of type :jar and classifier \'test-jar\'' do
1212
+ define 'foo', :version=>'1.0' do
1213
+ package(:test_jar).type.should eql(:jar)
1214
+ package(:test_jar).classifier.should eql('test-jar')
1215
+ package(:test_jar).name.should match(/foo-1.0-test-jar.jar$/)
1216
+ end
1217
+ end
1218
+
1219
+ it 'should contain test source and resource files' do
1220
+ write 'src/test/java/Test.java', 'public class Test {}'
1221
+ write 'src/test/resources/test.properties', 'foo=bar'
1222
+ define('foo', :version=>'1.0') { package(:test_jar) }
1223
+ project('foo').task('package').invoke
1224
+ project('foo').packages.first.should contain('Test.class')
1225
+ project('foo').packages.first.should contain('test.properties')
1226
+ end
1227
+
1228
+ it 'should create test jar if resources exists (but not sources)' do
1229
+ write 'src/test/resources/test.properties', 'foo=bar'
1230
+ define('foo', :version=>'1.0') { package(:test_jar) }
1231
+ project('foo').package(:test_jar).invoke
1232
+ project('foo').packages.first.should contain('test.properties')
1233
+ end
1234
+
1235
+ it 'should be a ZipTask' do
1236
+ define 'foo', :version=>'1.0' do
1237
+ package(:test_jar).should be_kind_of(ZipTask)
1238
+ end
1239
+ end
1240
+ end
1241
+
1207
1242
  shared_examples_for 'package_with_' do
1208
1243
 
1209
1244
  def prepare(options = {})
@@ -110,16 +110,18 @@ share_as :ScalacCompiler do
110
110
  end
111
111
  end
112
112
 
113
+ # Only run this test if the test environment has SCALA_HOME specified.
114
+ # Allows the Test Suite to run on TravisCI
115
+ if ENV['SCALA_HOME']
116
+ describe 'scala compiler (installed in SCALA_HOME)' do
117
+ it 'requires present SCALA_HOME' do
118
+ ENV['SCALA_HOME'].should_not be_nil
119
+ end
113
120
 
114
- describe 'scala compiler (installed in SCALA_HOME)' do
115
- it 'requires present SCALA_HOME' do
116
- ENV['SCALA_HOME'].should_not be_nil
121
+ it_should_behave_like ScalacCompiler
117
122
  end
118
-
119
- it_should_behave_like ScalacCompiler
120
123
  end
121
124
 
122
-
123
125
  describe 'scala compiler (downloaded from repository)' do
124
126
  old_home = ENV['SCALA_HOME']
125
127
 
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.4.11
4
+ version: 1.4.12
5
5
  prerelease:
6
6
  platform: java
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-14 00:00:00.000000000 Z
12
+ date: 2013-05-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -331,22 +331,6 @@ dependencies:
331
331
  - - '='
332
332
  - !ruby/object:Gem::Version
333
333
  version: 1.7.2
334
- - !ruby/object:Gem::Dependency
335
- name: ffi-ncurses
336
- requirement: !ruby/object:Gem::Requirement
337
- none: false
338
- requirements:
339
- - - '='
340
- - !ruby/object:Gem::Version
341
- version: 0.4.0
342
- type: :development
343
- prerelease: false
344
- version_requirements: !ruby/object:Gem::Requirement
345
- none: false
346
- requirements:
347
- - - '='
348
- - !ruby/object:Gem::Version
349
- version: 0.4.0
350
334
  - !ruby/object:Gem::Dependency
351
335
  name: pygmentize
352
336
  requirement: !ruby/object:Gem::Requirement
@@ -550,6 +534,7 @@ files:
550
534
  - lib/buildr/packaging/gems.rb
551
535
  - lib/buildr/packaging/package.rb
552
536
  - lib/buildr/packaging/tar.rb
537
+ - lib/buildr/packaging/test_jar.rb
553
538
  - lib/buildr/packaging/version_requirement.rb
554
539
  - lib/buildr/packaging/zip.rb
555
540
  - lib/buildr/packaging/ziptask.rb
@@ -660,6 +645,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
660
645
  - - ! '>='
661
646
  - !ruby/object:Gem::Version
662
647
  version: '0'
648
+ segments:
649
+ - 0
650
+ hash: -750290413766610913
663
651
  required_rubygems_version: !ruby/object:Gem::Requirement
664
652
  none: false
665
653
  requirements: