You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by va...@apache.org on 2014/08/09 13:05:57 UTC

git commit: BUILDR-701: add Hamcrest deps for JUnit >= 4.11.

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 <va...@apache.org>
Authored: Tue Jul 29 22:48:52 2014 +0200
Committer: Tammo van Lessen <va...@apache.org>
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 }