Repository: buildr Updated Branches: refs/heads/master bfbb78764 -> d125ec00a
BUILDR-701: add Hamcrest deps for JUnit >= 4.11. My first commit here ;) Please review. Project: http://git-wip-us.apache.org/repos/asf/buildr/repo Commit: http://git-wip-us.apache.org/repos/asf/buildr/commit/d125ec00 Tree: http://git-wip-us.apache.org/repos/asf/buildr/tree/d125ec00 Diff: http://git-wip-us.apache.org/repos/asf/buildr/diff/d125ec00 Branch: refs/heads/master Commit: d125ec00a6cc6427004f6a01608d8348324aeeb0 Parents: bfbb787 Author: Tammo van Lessen <[email protected]> Authored: Tue Jul 29 22:48:52 2014 +0200 Committer: Tammo van Lessen <[email protected]> Committed: Mon Aug 4 22:41:45 2014 +0200 ---------------------------------------------------------------------- lib/buildr/java/tests.rb | 9 +++++---- spec/java/tests_spec.rb | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/buildr/blob/d125ec00/lib/buildr/java/tests.rb ---------------------------------------------------------------------- diff --git a/lib/buildr/java/tests.rb b/lib/buildr/java/tests.rb index 95ef71d..bb83fb6 100644 --- a/lib/buildr/java/tests.rb +++ b/lib/buildr/java/tests.rb @@ -96,15 +96,15 @@ module Buildr #:nodoc: Buildr.settings.build['jmock'] || VERSION end - def dependencies + def dependencies(versions = {:hamcrest => "1.1"}) two_or_later = version[0,1].to_i >= 2 group = two_or_later ? "org.jmock" : "jmock" @dependencies ||= ["#{group}:jmock:jar:#{version}"] if two_or_later @dependencies << "org.jmock:jmock-junit#{Buildr::JUnit.version.to_s[0,1]}:jar:#{version}" - @dependencies << "org.hamcrest:hamcrest-core:jar:1.1" - @dependencies << "org.hamcrest:hamcrest-library:jar:1.1" + @dependencies << "org.hamcrest:hamcrest-core:jar:#{versions[:hamcrest]}" + @dependencies << "org.hamcrest:hamcrest-library:jar:#{versions[:hamcrest]}" end @dependencies end @@ -198,7 +198,8 @@ module Buildr #:nodoc: end def dependencies - @dependencies ||= ["junit:junit:jar:#{version}"]+ JMock.dependencies + four11_or_newer = version >= "4.11" + @dependencies ||= ["junit:junit:jar:#{version}"]+ (four11_or_newer ? JMock.dependencies({:hamcrest => '1.3'}) : JMock.dependencies) end def ant_taskdef #:nodoc: http://git-wip-us.apache.org/repos/asf/buildr/blob/d125ec00/spec/java/tests_spec.rb ---------------------------------------------------------------------- diff --git a/spec/java/tests_spec.rb b/spec/java/tests_spec.rb index 5968799..067a301 100644 --- a/spec/java/tests_spec.rb +++ b/spec/java/tests_spec.rb @@ -60,6 +60,24 @@ describe Buildr::JUnit do project('foo').test.dependencies.should include(artifact("#{group}:jmock:jar:#{JMock.version}")) end + it 'should not include Hamcrest dependencies for JUnit < 4.11' do + begin + Buildr.settings.build['junit'] = '4.10' + define('foo') { test.using :junit } + project('foo').test.compile.dependencies.should_not include(artifact("org.hamcrest:hamcrest-core:jar:1.3")) + project('foo').test.dependencies.should_not include(artifact("org.hamcrest:hamcrest-core:jar:1.3")) + ensure + Buildr.settings.build['junit'] = nil + end + end + + it 'should include Hamcrest dependencies for JUnit >= 4.11' do + define('foo') { test.using :junit } + project('foo').test.compile.dependencies.should include(artifact("org.hamcrest:hamcrest-core:jar:1.3")) + project('foo').test.dependencies.should include(artifact("org.hamcrest:hamcrest-core:jar:1.3")) + end + + it 'should pick JUnit version from junit build settings' do Buildr::JUnit.instance_eval { @dependencies = nil } # JUnit caches JMock dependencies Buildr::JMock.instance_eval { @dependencies = nil }
