[cuke4duke] Cucumber release 0.8.5 breaks cuke4duke 0.3.1?

207 views
Skip to first unread message

Kerry Wilson

unread,
Jul 15, 2010, 12:10:29 PM7/15/10
to Cukes
Did the new release of cucumber bread 0.3.1? My build was working
find, but I couldn't get it to run on the CI server yesterday. So I
blew away my ~/.m2/repository/.jruby that I installed prior to 0.8.4
cuke. Now it is not working on my machine either. When I revert to
0.3.0 it works fine.

Here is what I am getting under cuke4duke 0.3.1:


[INFO] [cuke4duke:cucumber {execution: default-cli}]
[INFO] Code:
[INFO]
[INFO] Features:
[INFO] wrong # of arguments(4 for 3)
[INFO] Java::GherkinParser::Parser (ArgumentError)
[INFO] /Users/Kerry/.m2/repository/.jruby/gems/gherkin-2.1.4-java/lib/
gherkin/native/java.rb:30:in `new_proxy'
[INFO] /Users/Kerry/.m2/repository/.jruby/gems/gherkin-2.1.4-java/lib/
gherkin/native/java.rb:30:in `new'
[INFO] /Users/Kerry/.m2/repository/.jruby/gems/cucumber-0.8.5/lib/
cucumber/feature_file.rb:33:in `parse'
[INFO] /Users/Kerry/.m2/repository/.jruby/gems/cucumber-0.8.5/lib/
cucumber/step_mother.rb:69:in `load_plain_text_features'
[INFO] /Users/Kerry/.m2/repository/.jruby/gems/cucumber-0.8.5/lib/
cucumber/step_mother.rb:67:in `each'
[INFO] /Users/Kerry/.m2/repository/.jruby/gems/cucumber-0.8.5/lib/
cucumber/step_mother.rb:67:in `load_plain_text_features'
[INFO] /Users/Kerry/.m2/repository/.jruby/gems/cucumber-0.8.5/lib/
cucumber/cli/main.rb:55:in `execute!'
[INFO] /Users/Kerry/.m2/repository/.jruby/gems/cucumber-0.8.5/lib/
cucumber/cli/main.rb:25:in `execute'
[INFO] /Users/Kerry/.m2/repository/.jruby/gems/cucumber-0.8.5/bin/
cucumber:8
[INFO] /Users/Kerry/.m2/repository/.jruby/gems/cucumber-0.8.5/bin/
cucumber:13:in `load'
[INFO] /Users/Kerry/.m2/repository/.jruby/gems/cuke4duke-0.3.1-java/
bin/cuke4duke:13
[INFO] /Users/Kerry/.m2/repository/.jruby/gems/cuke4duke-0.3.1-java/
bin/cuke4duke:19:in `load'
[INFO] /Users/Kerry/.m2/repository/.jruby/bin/cuke4duke:19

aslak hellesoy

unread,
Jul 15, 2010, 12:26:35 PM7/15/10
to cu...@googlegroups.com
On Thu, Jul 15, 2010 at 6:10 PM, Kerry Wilson <kerryr...@gmail.com> wrote:
> Did the new release of cucumber bread 0.3.1?  My build was working
> find, but I couldn't get it to run on the CI server yesterday.  So I
> blew away my ~/.m2/repository/.jruby that I installed prior to 0.8.4
> cuke.  Now it is not working on my machine either.  When I revert to
> 0.3.0 it works fine.
>
> Here is what I am getting under cuke4duke 0.3.1:
>

I did discover this problem after I released Cucumber 0.8.5, so I made
a fix to gherkin:
http://github.com/aslakhellesoy/gherkin/commit/27f0b28625adb2b4605733b207148cf0a369807b

And released gherkin 2.1.4

I'm surprised this is happening - the Java Parser class in gherkin
2.1.4 *should* have a 3-arg constructor now. -Unless something went
wrong when everything got built and packaged.

I apologise for this - it's quite tricky to keep both java and ruby
implementations in synch, and making sure cucumber and gherkin are in
synch too. I'll take a closer look at this.

Aslak

> --
> You received this message because you are subscribed to the Google Groups "Cukes" group.
> To post to this group, send email to cu...@googlegroups.com.
> To unsubscribe from this group, send email to cukes+un...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/cukes?hl=en.
>
>

Kerry Wilson

unread,
Jul 15, 2010, 12:33:43 PM7/15/10
to cu...@googlegroups.com
I completely understand, but unless I have a repository or some other proxy caching issues the 0.3.1 is still not functional.  I can continue to use 0.3.0 for now, but anybody installing 0.3.1 from scratch will not be able to run tests.

kw

aslak hellesoy

unread,
Jul 15, 2010, 4:01:18 PM7/15/10
to cu...@googlegroups.com
On Thu, Jul 15, 2010 at 6:33 PM, Kerry Wilson <ke...@allthingswilson.com> wrote:
> I completely understand, but unless I have a repository or some other proxy
> caching issues the 0.3.1 is still not functional.  I can continue to use
> 0.3.0 for now, but anybody installing 0.3.1 from scratch will not be able to
> run tests.

The culprit was that the cuke4duke jar had a maven dependency on an
older version of gherkin (1.0.2).
This is a little tricky, because gherkin is released both as a jar (in
a maven repo) and as a jruby gem (with the jar inside).

This means that when a new gherkin and cucumber release is made, your
project will grab these (as gems), but since you're using cuke4duke
you'll still get the old gherkin on the classpath, and that ends up on
your classpath before the newer jar in the gem.

I don't have a short term solution for this except for making releases
of cuke4duke right after a gherkin release.

This will get better in the future when we get a pure java cucumber
(no more jruby, gems and all that). This is going to take some months.

Let us know if cuke4duke 0.3.2 works better for you!

Aslak

Kerry Wilson

unread,
Jul 15, 2010, 7:45:53 PM7/15/10
to cu...@googlegroups.com
Thanks, the 0.3.2 is working fine.

Has the java implementation of cucumber been started, or is it still a pipe dream at this point?

kw
Reply all
Reply to author
Forward
0 new messages