cucumber-attic / cuke4duke

Cucumber support for the JVM: Java, Scala, Groovy, Clojure, Ioke, Javascript, Spring, Guice, PicoContainer, WebDriver, Ant and Maven
http://wiki.github.com/aslakhellesoy/cuke4duke
MIT License
256 stars 72 forks source link

gherkin 2.4.0 breaks cuke4duke 0.4.3/0.4.4 running using maven #110

Open krisb opened 13 years ago

krisb commented 13 years ago

I am using cuke4duke using maven and java steps. I've installed it using the bootstrapping instructions.

Because of the way the dependencies are declared using ">=", when you install cuke4duke you get cucumber >= 0.10.2 and gherkin >= 2.3.5. Really these should be ~> I think.

The problem is that there is a backward incompatible change in gherkin 2.4.0 so the following error is given:

uninitialized constant Gherkin::Formatter::Model::PyString

This can be fixed quickly by adding a runtime dependency before the cucumber one to gherkin ~> 2.3.5 so that it gets resolved to 2.3.x prior to it trying to use cucumber 0.10.3 and gherkin 2.4.0, forcing the correct gem resolution.

jbandi commented 13 years ago

I had the same problem. I did not find out where to change those dependencies. So I am staying on my running environment which uses cuke4duke 0.3.2.

mattsalt commented 13 years ago

@jbandi, In the gemspec for cuke4duke add the following line

s.add_runtime_dependency(%q, ["~> 2.3.5"])

before any dependencies on cucumber. The gemspec files should be in %PATH_TO_JRUBY%\lib\ruby\gems\x.x\specifications You should now be able to run cuke4duke 0.4.4 from jruby now.