When Cucumber (the original ruby implementation) become somewhat mature a couple of years ago I was thinking: Cucumber can run on JRuby as well, and with some glue code it should be possible to write Step Definitions in various JVM languages such as Java, Groovy, Scala, Clojure etc. So Cuke4Duke was born.
It has worked well for some, less well for others. Since day 1 it has had several inherent problems:
1) Hard to install. Cuke4Duke is based on JRuby, the Cucumber gem and the Gherkin gem. Installing these in a Java environment is hard. 2) Slow. Every time you want to run a feature you have to wait for JRuby to boot. 3) Hard to use. Maven makes it a little easier perhaps, but Maven comes with its own warts. 4) Unstable. Consider the blocks that build up Cuke4Duke: JVM, JRuby, RubyGems, Cucumber gem, Gherkin gem, Maven. For the sake of simplicity, let's assume that each of those exists in 4 versions. That means some 15.000 different combinations people might have on their machines. And then there is Windows/Linux/OS X differences on top of that. 5) Hard to test. Given the number of different permutations this speaks for itself. 6) Hard to package and release. A hodge podge of Maven and Rake, plus dealing with all of the dependencies.
The problems have been getting worse lately, and it's time to retire the project because of its inherent flaws. As of today I will no longer maintain Cuke4Duke. Instead I'll spend my time working on a better replacement.
As some of you may know, I have been working on a pure JVM implementation of Cucumber for a while. It incorporates the good parts of Cuke4Duke, but not the bad ones (I hope). I think it's good enough that some people can start playing with it. Here is where it's at:
* Mostly API compatible with Cuke4Duke * Gherkin features can remain unchanged * Step Definitions and Hooks will have to change some import statements * The Java implementation is tested better than the other JVM languages like Groovy etc, but they are there too. * Scala has no support yet, will add that later. * You can run features with JUnit * A (JUnit-free) CLI is in progress (handy for e.g. Clojure or other languages that don't use JUnit) * It will be a lot faster * Not a single line of Ruby and no JRuby
There are no docs yet, that will come later. I'm looking for people who have some small to medium sized Cuke4Duke projects who would like to try switching over. This will expose what the missing features are, what needs to be documented etc.
For those who try - don't expect everything to work. I do need your help testing it out to make it stabilise faster and get the features it needs. I'll be here answering any questions you might have. I'm *very* excited about this project! And we need contributors! Show the Ruby community that the Java/Groovy/Clojure/Scala people can contribute to open source too!
Aslak, this is great news and I'll give this a whirl immediately with our existing cuke4duke tests.
However as of August 16th, the "gem install cuke4duke" stopped working, as described in thread "trouble installing gherkin gem" (log at https://gist.github.com/1152852). Would you be willing to invest a little time in it?
Meanwhile I'll jump right on this Cucumber-jvm, since the old cuke4duke no longer works on our continuous integration servers.
On Thursday, August 18, 2011 9:01:24 AM UTC-6, Aslak Hellesøy wrote:
> TL;DR: Cuke4Duke is dead. Viva Cucumber-JVM.
> When Cucumber (the original ruby implementation) become somewhat
> mature a couple of years ago I was thinking: Cucumber can run on JRuby
> as well, and with some glue code it should be possible to write Step
> Definitions in various JVM languages such as Java, Groovy, Scala,
> Clojure etc. So Cuke4Duke was born.
> It has worked well for some, less well for others. Since day 1 it has
> had several inherent problems:
> 1) Hard to install. Cuke4Duke is based on JRuby, the Cucumber gem and
> the Gherkin gem. Installing these in a Java environment is hard.
> 2) Slow. Every time you want to run a feature you have to wait for
> JRuby to boot.
> 3) Hard to use. Maven makes it a little easier perhaps, but Maven
> comes with its own warts.
> 4) Unstable. Consider the blocks that build up Cuke4Duke: JVM, JRuby,
> RubyGems, Cucumber gem, Gherkin gem, Maven. For the sake of
> simplicity, let's assume that each of those exists in 4 versions. That
> means some 15.000 different combinations people might have on their
> machines. And then there is Windows/Linux/OS X differences on top of
> that.
> 5) Hard to test. Given the number of different permutations this
> speaks for itself.
> 6) Hard to package and release. A hodge podge of Maven and Rake, plus
> dealing with all of the dependencies.
> The problems have been getting worse lately, and it's time to retire
> the project because of its inherent flaws. As of today I will no
> longer maintain Cuke4Duke. Instead I'll spend my time working on a
> better replacement.
> As some of you may know, I have been working on a pure JVM
> implementation of Cucumber for a while. It incorporates the good parts
> of Cuke4Duke, but not the bad ones (I hope). I think it's good enough
> that some people can start playing with it. Here is where it's at:
> * Mostly API compatible with Cuke4Duke
> * Gherkin features can remain unchanged
> * Step Definitions and Hooks will have to change some import statements
> * The Java implementation is tested better than the other JVM
> languages like Groovy etc, but they are there too.
> * Scala has no support yet, will add that later.
> * You can run features with JUnit
> * A (JUnit-free) CLI is in progress (handy for e.g. Clojure or other
> languages that don't use JUnit)
> * It will be a lot faster
> * Not a single line of Ruby and no JRuby
> There are no docs yet, that will come later. I'm looking for people
> who have some small to medium sized Cuke4Duke projects who would like
> to try switching over. This will expose what the missing features are,
> what needs to be documented etc.
> For those who try - don't expect everything to work. I do need your
> help testing it out to make it stabilise faster and get the features
> it needs. I'll be here answering any questions you might have. I'm
> *very* excited about this project! And we need contributors! Show the
> Ruby community that the Java/Groovy/Clojure/Scala people can
> contribute to open source too!
On Thu, Aug 18, 2011 at 4:47 PM, Alan Wostenberg <awo...@gmail.com> wrote: > Aslak, this is great news and I'll give this a whirl immediately with our > existing cuke4duke tests.
> However as of August 16th, the "gem install cuke4duke" stopped working, as > described in thread "trouble installing gherkin gem" (log at > https://gist.github.com/1152852). Would you be willing to invest a little > time in it?
That problem should be fixed if you install gherkin-2.4.11 (2.4.7-2.4.10 were all broken due to a rubygems/yaml bug and it took me several releases to figure out how to work around it).
> Meanwhile I'll jump right on this Cucumber-jvm, since the old cuke4duke no > longer works on our continuous integration servers.
Great! Looking forward to hearing what your first stumble is so I can start documenting and improving it :-)
> On Thursday, August 18, 2011 9:01:24 AM UTC-6, Aslak Hellesøy wrote:
>> TL;DR: Cuke4Duke is dead. Viva Cucumber-JVM.
>> When Cucumber (the original ruby implementation) become somewhat >> mature a couple of years ago I was thinking: Cucumber can run on JRuby >> as well, and with some glue code it should be possible to write Step >> Definitions in various JVM languages such as Java, Groovy, Scala, >> Clojure etc. So Cuke4Duke was born.
>> It has worked well for some, less well for others. Since day 1 it has >> had several inherent problems:
>> 1) Hard to install. Cuke4Duke is based on JRuby, the Cucumber gem and >> the Gherkin gem. Installing these in a Java environment is hard. >> 2) Slow. Every time you want to run a feature you have to wait for >> JRuby to boot. >> 3) Hard to use. Maven makes it a little easier perhaps, but Maven >> comes with its own warts. >> 4) Unstable. Consider the blocks that build up Cuke4Duke: JVM, JRuby, >> RubyGems, Cucumber gem, Gherkin gem, Maven. For the sake of >> simplicity, let's assume that each of those exists in 4 versions. That >> means some 15.000 different combinations people might have on their >> machines. And then there is Windows/Linux/OS X differences on top of >> that. >> 5) Hard to test. Given the number of different permutations this >> speaks for itself. >> 6) Hard to package and release. A hodge podge of Maven and Rake, plus >> dealing with all of the dependencies.
>> The problems have been getting worse lately, and it's time to retire >> the project because of its inherent flaws. As of today I will no >> longer maintain Cuke4Duke. Instead I'll spend my time working on a >> better replacement.
>> As some of you may know, I have been working on a pure JVM >> implementation of Cucumber for a while. It incorporates the good parts >> of Cuke4Duke, but not the bad ones (I hope). I think it's good enough >> that some people can start playing with it. Here is where it's at:
>> * Mostly API compatible with Cuke4Duke >> * Gherkin features can remain unchanged >> * Step Definitions and Hooks will have to change some import statements >> * The Java implementation is tested better than the other JVM >> languages like Groovy etc, but they are there too. >> * Scala has no support yet, will add that later. >> * You can run features with JUnit >> * A (JUnit-free) CLI is in progress (handy for e.g. Clojure or other >> languages that don't use JUnit) >> * It will be a lot faster >> * Not a single line of Ruby and no JRuby
>> There are no docs yet, that will come later. I'm looking for people >> who have some small to medium sized Cuke4Duke projects who would like >> to try switching over. This will expose what the missing features are, >> what needs to be documented etc.
>> For those who try - don't expect everything to work. I do need your >> help testing it out to make it stabilise faster and get the features >> it needs. I'll be here answering any questions you might have. I'm >> *very* excited about this project! And we need contributors! Show the >> Ruby community that the Java/Groovy/Clojure/Scala people can >> contribute to open source too!
>> Cheers, >> Aslak
> -- > You received this message because you are subscribed to the Google Groups > "Cukes" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/cukes/-/wkXdhAXqZs4J. > To post to this group, send email to cukes@googlegroups.com. > To unsubscribe from this group, send email to > cukes+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/cukes?hl=en.
On Thursday, August 18, 2011 9:57:48 AM UTC-6, Aslak Hellesøy wrote:
> On Thu, Aug 18, 2011 at 4:47 PM, Alan Wostenberg <awo...@gmail.com> wrote:
> > Aslak, this is great news and I'll give this a whirl immediately with our
> > existing cuke4duke tests.
> > However as of August 16th, the "gem install cuke4duke" stopped working, > as
> > described in thread "trouble installing gherkin gem" (log at
> > https://gist.github.com/1152852). Would you be willing to invest a > little
> > time in it?
> That problem should be fixed if you install gherkin-2.4.11
> (2.4.7-2.4.10 were all broken due to a rubygems/yaml bug and it took
> me several releases to figure out how to work around it).
Yes, but notice the log (https://gist.github.com/1152852) shows that latest gherkin
Successfully installed gherkin-2.4.11-java
> Meanwhile I'll jump right on this Cucumber-jvm, since the old cuke4duke > no
> > longer works on our continuous integration servers.
> Great! Looking forward to hearing what your first stumble is so I can
> start documenting and improving it :-)
> Aslak
> > -Alan Wostenberg
> > On Thursday, August 18, 2011 9:01:24 AM UTC-6, Aslak Hellesøy wrote:
> >> TL;DR: Cuke4Duke is dead. Viva Cucumber-JVM.
> >> When Cucumber (the original ruby implementation) become somewhat
> >> mature a couple of years ago I was thinking: Cucumber can run on JRuby
> >> as well, and with some glue code it should be possible to write Step
> >> Definitions in various JVM languages such as Java, Groovy, Scala,
> >> Clojure etc. So Cuke4Duke was born.
> >> It has worked well for some, less well for others. Since day 1 it has
> >> had several inherent problems:
> >> 1) Hard to install. Cuke4Duke is based on JRuby, the Cucumber gem and
> >> the Gherkin gem. Installing these in a Java environment is hard.
> >> 2) Slow. Every time you want to run a feature you have to wait for
> >> JRuby to boot.
> >> 3) Hard to use. Maven makes it a little easier perhaps, but Maven
> >> comes with its own warts.
> >> 4) Unstable. Consider the blocks that build up Cuke4Duke: JVM, JRuby,
> >> RubyGems, Cucumber gem, Gherkin gem, Maven. For the sake of
> >> simplicity, let's assume that each of those exists in 4 versions. That
> >> means some 15.000 different combinations people might have on their
> >> machines. And then there is Windows/Linux/OS X differences on top of
> >> that.
> >> 5) Hard to test. Given the number of different permutations this
> >> speaks for itself.
> >> 6) Hard to package and release. A hodge podge of Maven and Rake, plus
> >> dealing with all of the dependencies.
> >> The problems have been getting worse lately, and it's time to retire
> >> the project because of its inherent flaws. As of today I will no
> >> longer maintain Cuke4Duke. Instead I'll spend my time working on a
> >> better replacement.
> >> As some of you may know, I have been working on a pure JVM
> >> implementation of Cucumber for a while. It incorporates the good parts
> >> of Cuke4Duke, but not the bad ones (I hope). I think it's good enough
> >> that some people can start playing with it. Here is where it's at:
> >> * Mostly API compatible with Cuke4Duke
> >> * Gherkin features can remain unchanged
> >> * Step Definitions and Hooks will have to change some import statements
> >> * The Java implementation is tested better than the other JVM
> >> languages like Groovy etc, but they are there too.
> >> * Scala has no support yet, will add that later.
> >> * You can run features with JUnit
> >> * A (JUnit-free) CLI is in progress (handy for e.g. Clojure or other
> >> languages that don't use JUnit)
> >> * It will be a lot faster
> >> * Not a single line of Ruby and no JRuby
> >> There are no docs yet, that will come later. I'm looking for people
> >> who have some small to medium sized Cuke4Duke projects who would like
> >> to try switching over. This will expose what the missing features are,
> >> what needs to be documented etc.
> >> For those who try - don't expect everything to work. I do need your
> >> help testing it out to make it stabilise faster and get the features
> >> it needs. I'll be here answering any questions you might have. I'm
> >> *very* excited about this project! And we need contributors! Show the
> >> Ruby community that the Java/Groovy/Clojure/Scala people can
> >> contribute to open source too!
> >> Cheers,
> >> Aslak
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Cukes" group.
> > To view this discussion on the web visit
> > https://groups.google.com/d/msg/cukes/-/wkXdhAXqZs4J.
> > 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.
On Thu, Aug 18, 2011 at 5:18 PM, Alan Wostenberg <awo...@gmail.com> wrote:
> On Thursday, August 18, 2011 9:57:48 AM UTC-6, Aslak Hellesøy wrote:
>> On Thu, Aug 18, 2011 at 4:47 PM, Alan Wostenberg <awo...@gmail.com> wrote: >> > Aslak, this is great news and I'll give this a whirl immediately with >> > our >> > existing cuke4duke tests.
>> > However as of August 16th, the "gem install cuke4duke" stopped working, >> > as >> > described in thread "trouble installing gherkin gem" (log at >> > https://gist.github.com/1152852). Would you be willing to invest a >> > little >> > time in it?
>> That problem should be fixed if you install gherkin-2.4.11 >> (2.4.7-2.4.10 were all broken due to a rubygems/yaml bug and it took >> me several releases to figure out how to work around it).
> Yes, but notice the log (https://gist.github.com/1152852) shows that latest > gherkin > Successfully installed gherkin-2.4.11-java
Try completely removing uninstalling any previously installed (broken) gherkin gems.
> So it seems there is still something amis installing cuke4duke. Others > report this here http://www.ruby-forum.com/topic/2380026. > I'll switch to Cucumber-jvm today.
If by "switch" you mean "try", go ahead. Expect some early adopter pain.
>> > Meanwhile I'll jump right on this Cucumber-jvm, since the old cuke4duke >> > no >> > longer works on our continuous integration servers.
>> Great! Looking forward to hearing what your first stumble is so I can >> start documenting and improving it :-)
>> Aslak
>> > -Alan Wostenberg
>> > On Thursday, August 18, 2011 9:01:24 AM UTC-6, Aslak Hellesøy wrote:
>> >> TL;DR: Cuke4Duke is dead. Viva Cucumber-JVM.
>> >> When Cucumber (the original ruby implementation) become somewhat >> >> mature a couple of years ago I was thinking: Cucumber can run on JRuby >> >> as well, and with some glue code it should be possible to write Step >> >> Definitions in various JVM languages such as Java, Groovy, Scala, >> >> Clojure etc. So Cuke4Duke was born.
>> >> It has worked well for some, less well for others. Since day 1 it has >> >> had several inherent problems:
>> >> 1) Hard to install. Cuke4Duke is based on JRuby, the Cucumber gem and >> >> the Gherkin gem. Installing these in a Java environment is hard. >> >> 2) Slow. Every time you want to run a feature you have to wait for >> >> JRuby to boot. >> >> 3) Hard to use. Maven makes it a little easier perhaps, but Maven >> >> comes with its own warts. >> >> 4) Unstable. Consider the blocks that build up Cuke4Duke: JVM, JRuby, >> >> RubyGems, Cucumber gem, Gherkin gem, Maven. For the sake of >> >> simplicity, let's assume that each of those exists in 4 versions. That >> >> means some 15.000 different combinations people might have on their >> >> machines. And then there is Windows/Linux/OS X differences on top of >> >> that. >> >> 5) Hard to test. Given the number of different permutations this >> >> speaks for itself. >> >> 6) Hard to package and release. A hodge podge of Maven and Rake, plus >> >> dealing with all of the dependencies.
>> >> The problems have been getting worse lately, and it's time to retire >> >> the project because of its inherent flaws. As of today I will no >> >> longer maintain Cuke4Duke. Instead I'll spend my time working on a >> >> better replacement.
>> >> As some of you may know, I have been working on a pure JVM >> >> implementation of Cucumber for a while. It incorporates the good parts >> >> of Cuke4Duke, but not the bad ones (I hope). I think it's good enough >> >> that some people can start playing with it. Here is where it's at:
>> >> * Mostly API compatible with Cuke4Duke >> >> * Gherkin features can remain unchanged >> >> * Step Definitions and Hooks will have to change some import statements >> >> * The Java implementation is tested better than the other JVM >> >> languages like Groovy etc, but they are there too. >> >> * Scala has no support yet, will add that later. >> >> * You can run features with JUnit >> >> * A (JUnit-free) CLI is in progress (handy for e.g. Clojure or other >> >> languages that don't use JUnit) >> >> * It will be a lot faster >> >> * Not a single line of Ruby and no JRuby
>> >> There are no docs yet, that will come later. I'm looking for people >> >> who have some small to medium sized Cuke4Duke projects who would like >> >> to try switching over. This will expose what the missing features are, >> >> what needs to be documented etc.
>> >> For those who try - don't expect everything to work. I do need your >> >> help testing it out to make it stabilise faster and get the features >> >> it needs. I'll be here answering any questions you might have. I'm >> >> *very* excited about this project! And we need contributors! Show the >> >> Ruby community that the Java/Groovy/Clojure/Scala people can >> >> contribute to open source too!
>> >> Cheers, >> >> Aslak
>> > -- >> > You received this message because you are subscribed to the Google >> > Groups >> > "Cukes" group. >> > To view this discussion on the web visit >> > https://groups.google.com/d/msg/cukes/-/wkXdhAXqZs4J. >> > 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.
> -- > You received this message because you are subscribed to the Google Groups > "Cukes" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/cukes/-/pfN55Jp-cOcJ. > To post to this group, send email to cukes@googlegroups.com. > To unsubscribe from this group, send email to > cukes+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/cukes?hl=en.
> So I first install the latest gherkin gem, then cuke4duke
> I delete my maven repository, and run > mvn -Dcucumber.installGems=true cuke4duke:cucumber
> and get these errors : > [INFO] Successfully installed json-1.5.3-java > [INFO] Successfully installed gherkin-2.4.11-java > [INFO] 2 gems installed > [INFO] Exception `LoadError' at org/jruby/RubyKernel.java:1038 - no such > file to load -- psych > [INFO] Exception `Gem::LoadError' at file:/C:/Documents and > Settings/xxxx/.m2/repository/org/jruby/jruby-complete/1.6.3/jruby-complete- 1.6.3.jar!/META-INF/jruby.home/lib/ruby/site_ruby/1.8/rubygems.rb:861 > - Could not fin > d RubyGem sources (> 0.0.1) > [INFO] > [INFO] GET http://rubygems.org/latest_specs.4.8.gz > [INFO] 302 Found > [INFO] GET http://production.s3.rubygems.org/latest_specs.4.8.gz > [INFO] 304 Not Modified > [INFO] GET http://rubygems.org/specs.4.8.gz > [INFO] 302 Found > [INFO] GET http://production.s3.rubygems.org/specs.4.8.gz > [INFO] 304 Not Modified > [INFO] ERROR: While executing gem ... (ArgumentError) > [INFO] undefined class/module YAML::Syck::DefaultKey
It's a RubyGems/YAML bug. JRuby 1.6.3 ships with rubygems 1.5.1. Upgrading rubygems makes it possible to install gherkin: gem install rubygems-update gem update --system
The only problem is - this works with a regular jruby installation. Upgrading the JRuby downloaded by maven? I have no idea.
Ready to take cucumber-jvm for a spin? Cuke4Duke is going nowhere while ruby land is as buggy as this.
> -- > You received this message because you are subscribed to the Google Groups > "Cukes" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/cukes/-/KC8kgk17yf4J. > To post to this group, send email to cukes@googlegroups.com. > To unsubscribe from this group, send email to > cukes+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/cukes?hl=en.
> -- > You received this message because you are subscribed to the Google Groups > "Cukes" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/cukes/-/vY1OVGiOPMIJ. > To post to this group, send email to cukes@googlegroups.com. > To unsubscribe from this group, send email to > cukes+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/cukes?hl=en.
On Thursday, August 18, 2011 10:38:51 AM UTC-6, Aslak Hellesøy wrote:
> On Thu, Aug 18, 2011 at 5:18 PM, Alan Wostenberg <awo...@gmail.com> wrote:
> > On Thursday, August 18, 2011 9:57:48 AM UTC-6, Aslak Hellesøy wrote:
> >> On Thu, Aug 18, 2011 at 4:47 PM, Alan Wostenberg <awo...@gmail.com> > wrote:
> >> > Aslak, this is great news and I'll give this a whirl immediately with
> >> > our
> >> > existing cuke4duke tests.
> >> > However as of August 16th, the "gem install cuke4duke" stopped > working,
> >> > as
> >> > described in thread "trouble installing gherkin gem" (log at
> >> > https://gist.github.com/1152852). Would you be willing to invest a
> >> > little
> >> > time in it?
> >> That problem should be fixed if you install gherkin-2.4.11
> >> (2.4.7-2.4.10 were all broken due to a rubygems/yaml bug and it took
> >> me several releases to figure out how to work around it).
> > Yes, but notice the log (https://gist.github.com/1152852) shows that > latest
> > gherkin
> > Successfully installed gherkin-2.4.11-java
Yes, tried that. The first line of that gist (
https://gist.github.com/1152852) removes all gems. But your idea led me to a solution. The trick is to install cucumber before cuke4duke:
gem install cucumber
gem install cuke4duke --version
This works on a clean machine.
Just doing "gem install cuke4duke" fails with the original error.
Problem solved. Thanks.
> So it seems there is still something amis installing cuke4duke. Others
> > report this here http://www.ruby-forum.com/topic/2380026.
> > I'll switch to Cucumber-jvm today.
> If by "switch" you mean "try", go ahead. Expect some early adopter pain.
> So I first install the latest gherkin gem, then cuke4duke
> I delete my maven repository, and run > mvn -Dcucumber.installGems=true cuke4duke:cucumber
> I saw that error, too. Looks like we have to install cucumber prior to
cuke4duke in maven land. This pom works for me after clearing out maven repository: <gem>install cucumber</gem> <gem>install cuke4duke --debug --verbose --backtrace</gem> Note that cuke4duke 0.4.4 pulls in jruby-1.6.1 which is not the one Aslak recommends. But my cukes are back to green with this so it seems to work.
> of Cuke4Duke, but not the bad ones (I hope). I think it's good enough
> that some people can start playing with it. Here is where it's at:
> As some of you may know, I have been working on a pure JVM
> * Mostly API compatible with Cuke4Duke
> * Gherkin features can remain unchanged
> * Step Definitions and Hooks will have to change some import statements
> * The Java implementation is tested better than the other JVM
> languages like Groovy etc, but they are there too.
> * Scala has no support yet, will add that later.
> * You can run features with JUnit
> * A (JUnit-free) CLI is in progress (handy for e.g. Clojure or other
> languages that don't use JUnit)
> * It will be a lot faster
> * Not a single line of Ruby and no JRuby
So there will not be any more support for Ruby step definitions? That is sad :(
I've got a couple projects that we're wanting to use Ruby step definitions to facilitate the writing of our tests.
On Thursday, August 18, 2011 8:01:24 AM UTC-7, Aslak Hellesøy wrote:
> TL;DR: Cuke4Duke is dead. Viva Cucumber-JVM.
> When Cucumber (the original ruby implementation) become somewhat
> mature a couple of years ago I was thinking: Cucumber can run on JRuby
> as well, and with some glue code it should be possible to write Step
> Definitions in various JVM languages such as Java, Groovy, Scala,
> Clojure etc. So Cuke4Duke was born.
> It has worked well for some, less well for others. Since day 1 it has
> had several inherent problems:
> 1) Hard to install. Cuke4Duke is based on JRuby, the Cucumber gem and
> the Gherkin gem. Installing these in a Java environment is hard.
> 2) Slow. Every time you want to run a feature you have to wait for
> JRuby to boot.
> 3) Hard to use. Maven makes it a little easier perhaps, but Maven
> comes with its own warts.
> 4) Unstable. Consider the blocks that build up Cuke4Duke: JVM, JRuby,
> RubyGems, Cucumber gem, Gherkin gem, Maven. For the sake of
> simplicity, let's assume that each of those exists in 4 versions. That
> means some 15.000 different combinations people might have on their
> machines. And then there is Windows/Linux/OS X differences on top of
> that.
> 5) Hard to test. Given the number of different permutations this
> speaks for itself.
> 6) Hard to package and release. A hodge podge of Maven and Rake, plus
> dealing with all of the dependencies.
> The problems have been getting worse lately, and it's time to retire
> the project because of its inherent flaws. As of today I will no
> longer maintain Cuke4Duke. Instead I'll spend my time working on a
> better replacement.
> As some of you may know, I have been working on a pure JVM
> implementation of Cucumber for a while. It incorporates the good parts
> of Cuke4Duke, but not the bad ones (I hope). I think it's good enough
> that some people can start playing with it. Here is where it's at:
> * Mostly API compatible with Cuke4Duke
> * Gherkin features can remain unchanged
> * Step Definitions and Hooks will have to change some import statements
> * The Java implementation is tested better than the other JVM
> languages like Groovy etc, but they are there too.
> * Scala has no support yet, will add that later.
> * You can run features with JUnit
> * A (JUnit-free) CLI is in progress (handy for e.g. Clojure or other
> languages that don't use JUnit)
> * It will be a lot faster
> * Not a single line of Ruby and no JRuby
> There are no docs yet, that will come later. I'm looking for people
> who have some small to medium sized Cuke4Duke projects who would like
> to try switching over. This will expose what the missing features are,
> what needs to be documented etc.
> For those who try - don't expect everything to work. I do need your
> help testing it out to make it stabilise faster and get the features
> it needs. I'll be here answering any questions you might have. I'm
> *very* excited about this project! And we need contributors! Show the
> Ruby community that the Java/Groovy/Clojure/Scala people can
> contribute to open source too!
> Cheers,
> Aslak
Aslak,
This is FANTASTIC news!!! And, it could not have come at a better time for us. We are currently struggling (have been for a couple of weeks now), to install the latest version of Cuke4Duke on one of our machines -- a clean install.
Unfortunately, it has just not worked out. I have an older copy of Cuke4Duke installed on my MacBook Pro, and that version is working just fine. I'd love to participate in the testing effort... if you don't mind *having a small team of QA engineers* take the application through its paces. We use Cuke4Duke heavily and have been looking forward to the pure java implementation.
Hi, Just a few more words about this transition, there is a plan to put cucumber artifacts on Maven Central. With this using Cumcumber-JVM in a maven project will be as simple as adding a dependency in the pom...
I've been a little away ultimately, but I'm still working on the Table implementation. I'm trying to stay as close as possible to the original specification (spec/cucumber/ast/table_spec.rb). I hope to have more time in order to finish it until next week. This part is a little bigger than I initially thought, but I'm not afraid!! For the diff part I've found an LCS implementation based on Myers Algorithm for java[1], I'll see if the results are different in this case from the HuntMcIlroy algorithm used in Ruby Cucumber.
> When Cucumber (the original ruby implementation) become somewhat > mature a couple of years ago I was thinking: Cucumber can run on JRuby > as well, and with some glue code it should be possible to write Step > Definitions in various JVM languages such as Java, Groovy, Scala, > Clojure etc. So Cuke4Duke was born.
> It has worked well for some, less well for others. Since day 1 it has > had several inherent problems:
> 1) Hard to install. Cuke4Duke is based on JRuby, the Cucumber gem and > the Gherkin gem. Installing these in a Java environment is hard. > 2) Slow. Every time you want to run a feature you have to wait for > JRuby to boot. > 3) Hard to use. Maven makes it a little easier perhaps, but Maven > comes with its own warts. > 4) Unstable. Consider the blocks that build up Cuke4Duke: JVM, JRuby, > RubyGems, Cucumber gem, Gherkin gem, Maven. For the sake of > simplicity, let's assume that each of those exists in 4 versions. That > means some 15.000 different combinations people might have on their > machines. And then there is Windows/Linux/OS X differences on top of > that. > 5) Hard to test. Given the number of different permutations this > speaks for itself. > 6) Hard to package and release. A hodge podge of Maven and Rake, plus > dealing with all of the dependencies.
> The problems have been getting worse lately, and it's time to retire > the project because of its inherent flaws. As of today I will no > longer maintain Cuke4Duke. Instead I'll spend my time working on a > better replacement.
> As some of you may know, I have been working on a pure JVM > implementation of Cucumber for a while. It incorporates the good parts > of Cuke4Duke, but not the bad ones (I hope). I think it's good enough > that some people can start playing with it. Here is where it's at:
> * Mostly API compatible with Cuke4Duke > * Gherkin features can remain unchanged > * Step Definitions and Hooks will have to change some import statements > * The Java implementation is tested better than the other JVM > languages like Groovy etc, but they are there too. > * Scala has no support yet, will add that later. > * You can run features with JUnit > * A (JUnit-free) CLI is in progress (handy for e.g. Clojure or other > languages that don't use JUnit) > * It will be a lot faster > * Not a single line of Ruby and no JRuby
> There are no docs yet, that will come later. I'm looking for people > who have some small to medium sized Cuke4Duke projects who would like > to try switching over. This will expose what the missing features are, > what needs to be documented etc.
> For those who try - don't expect everything to work. I do need your > help testing it out to make it stabilise faster and get the features > it needs. I'll be here answering any questions you might have. I'm > *very* excited about this project! And we need contributors! Show the > Ruby community that the Java/Groovy/Clojure/Scala people can > contribute to open source too!
> Cheers, > Aslak
> -- > You received this message because you are subscribed to the Google Groups > "Cukes" group. > To post to this group, send email to cukes@googlegroups.com. > To unsubscribe from this group, send email to > cukes+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/cukes?hl=en.
> When Cucumber (the original ruby implementation) become somewhat > mature a couple of years ago I was thinking: Cucumber can run on JRuby > as well, and with some glue code it should be possible to write Step > Definitions in various JVM languages such as Java, Groovy, Scala, > Clojure etc. So Cuke4Duke was born.
> It has worked well for some, less well for others. Since day 1 it has > had several inherent problems:
> 1) Hard to install. Cuke4Duke is based on JRuby, the Cucumber gem and > the Gherkin gem. Installing these in a Java environment is hard. > 2) Slow. Every time you want to run a feature you have to wait for > JRuby to boot. > 3) Hard to use. Maven makes it a little easier perhaps, but Maven > comes with its own warts. > 4) Unstable. Consider the blocks that build up Cuke4Duke: JVM, JRuby, > RubyGems, Cucumber gem, Gherkin gem, Maven. For the sake of > simplicity, let's assume that each of those exists in 4 versions. That > means some 15.000 different combinations people might have on their > machines. And then there is Windows/Linux/OS X differences on top of > that. > 5) Hard to test. Given the number of different permutations this > speaks for itself. > 6) Hard to package and release. A hodge podge of Maven and Rake, plus > dealing with all of the dependencies.
> The problems have been getting worse lately, and it's time to retire > the project because of its inherent flaws. As of today I will no > longer maintain Cuke4Duke. Instead I'll spend my time working on a > better replacement.
> As some of you may know, I have been working on a pure JVM > implementation of Cucumber for a while. It incorporates the good parts > of Cuke4Duke, but not the bad ones (I hope). I think it's good enough > that some people can start playing with it. Here is where it's at:
> * Mostly API compatible with Cuke4Duke > * Gherkin features can remain unchanged > * Step Definitions and Hooks will have to change some import statements > * The Java implementation is tested better than the other JVM > languages like Groovy etc, but they are there too. > * Scala has no support yet, will add that later. > * You can run features with JUnit > * A (JUnit-free) CLI is in progress (handy for e.g. Clojure or other > languages that don't use JUnit) > * It will be a lot faster > * Not a single line of Ruby and no JRuby
> There are no docs yet, that will come later. I'm looking for people > who have some small to medium sized Cuke4Duke projects who would like > to try switching over. This will expose what the missing features are, > what needs to be documented etc.
> For those who try - don't expect everything to work. I do need your > help testing it out to make it stabilise faster and get the features > it needs. I'll be here answering any questions you might have. I'm > *very* excited about this project! And we need contributors! Show the > Ruby community that the Java/Groovy/Clojure/Scala people can > contribute to open source too!
> Cheers, > Aslak
> -- > You received this message because you are subscribed to the Google Groups > "Cukes" group. > To post to this group, send email to cukes@googlegroups.com. > To unsubscribe from this group, send email to > cukes+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/cukes?hl=en.
> On Thu, Aug 18, 2011 at 3:57 PM, Dmitriy Korobskiy<dkro...@gmail.com> wrote: >> On 8/18/11 2:11 PM, David Kowis wrote: >>> I've got a couple projects that we're wanting to use Ruby step definitions >>> to facilitate the writing of our tests. >> What's stopping you from using native cucumber for those? > Sorry, sufficient context failure:
> It's a Java project, built using Maven. We're using the
Got it. Maven... Sigh.
> cuke4duke-maven-plugin to fire off cucumber feature tests for it.
> We could probably build in something using maven-ant-tasks but it'd be > far uglier.
Isn't it well, strange that a simple command like invocation (>cucumber ...) is somehow problematic to do with Maven? I'm using Ant for build and it's a piece of cake as it should be.
> On 8/18/11 5:28 PM, David Kowis wrote: >> On Thu, Aug 18, 2011 at 3:57 PM, Dmitriy Korobskiy<dkro...@gmail.com> wrote: >>> On 8/18/11 2:11 PM, David Kowis wrote: >>>> I've got a couple projects that we're wanting to use Ruby step definitions >>>> to facilitate the writing of our tests. >>> What's stopping you from using native cucumber for those? >> Sorry, sufficient context failure:
>> It's a Java project, built using Maven. We're using the > Got it. Maven... Sigh. >> cuke4duke-maven-plugin to fire off cucumber feature tests for it.
>> We could probably build in something using maven-ant-tasks but it'd be >> far uglier. > Isn't it well, strange that a simple command like invocation (>cucumber ...) is somehow > problematic to do with Maven? I'm using Ant for build and it's a piece of cake as it should be.
I've not worked with Maven, but it sounds like it would be helpful if there were a pre-built Maven task/target/rule/whatever that runs the plain Ruby Cucumber.
It night even be that this already exists in the cuke4duke Maven plug-in and just needs a little attention drawn to it.
> When Cucumber (the original ruby implementation) become somewhat > mature a couple of years ago I was thinking: Cucumber can run on JRuby > as well, and with some glue code it should be possible to write Step > Definitions in various JVM languages such as Java, Groovy, Scala, > Clojure etc. So Cuke4Duke was born.
> It has worked well for some, less well for others. Since day 1 it has > had several inherent problems:
> 1) Hard to install. Cuke4Duke is based on JRuby, the Cucumber gem and > the Gherkin gem. Installing these in a Java environment is hard. > 2) Slow. Every time you want to run a feature you have to wait for > JRuby to boot. > 3) Hard to use. Maven makes it a little easier perhaps, but Maven > comes with its own warts. > 4) Unstable. Consider the blocks that build up Cuke4Duke: JVM, JRuby, > RubyGems, Cucumber gem, Gherkin gem, Maven. For the sake of > simplicity, let's assume that each of those exists in 4 versions. That > means some 15.000 different combinations people might have on their > machines. And then there is Windows/Linux/OS X differences on top of > that. > 5) Hard to test. Given the number of different permutations this > speaks for itself. > 6) Hard to package and release. A hodge podge of Maven and Rake, plus > dealing with all of the dependencies.
> The problems have been getting worse lately, and it's time to retire > the project because of its inherent flaws. As of today I will no > longer maintain Cuke4Duke. Instead I'll spend my time working on a > better replacement.
> As some of you may know, I have been working on a pure JVM > implementation of Cucumber for a while. It incorporates the good parts > of Cuke4Duke, but not the bad ones (I hope). I think it's good enough > that some people can start playing with it. Here is where it's at:
> * Mostly API compatible with Cuke4Duke > * Gherkin features can remain unchanged > * Step Definitions and Hooks will have to change some import statements > * The Java implementation is tested better than the other JVM > languages like Groovy etc, but they are there too. > * Scala has no support yet, will add that later. > * You can run features with JUnit > * A (JUnit-free) CLI is in progress (handy for e.g. Clojure or other > languages that don't use JUnit) > * It will be a lot faster > * Not a single line of Ruby and no JRuby
> There are no docs yet, that will come later. I'm looking for people > who have some small to medium sized Cuke4Duke projects who would like > to try switching over. This will expose what the missing features are, > what needs to be documented etc.
> For those who try - don't expect everything to work. I do need your > help testing it out to make it stabilise faster and get the features > it needs. I'll be here answering any questions you might have. I'm > *very* excited about this project! And we need contributors! Show the > Ruby community that the Java/Groovy/Clojure/Scala people can > contribute to open source too!
> Cheers, > Aslak
> -- > You received this message because you are subscribed to the Google Groups > "Cukes" group. > To post to this group, send email to cukes@googlegroups.com. > To unsubscribe from this group, send email to > cukes+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/cukes?hl=en.
-- You received this message because you are subscribed to the Google Groups "Cukes" group. To post to this group, send email to cukes@googlegroups.com. To unsubscribe from this group, send email to cukes+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/cukes?hl=en.
> On Thu, Aug 18, 2011 at 3:57 PM, Dmitriy Korobskiy <dkro...@gmail.com> wrote: >> On 8/18/11 2:11 PM, David Kowis wrote:
>>> I've got a couple projects that we're wanting to use Ruby step definitions >>> to facilitate the writing of our tests.
>> What's stopping you from using native cucumber for those?
> Sorry, sufficient context failure:
> It's a Java project, built using Maven. We're using the > cuke4duke-maven-plugin to fire off cucumber feature tests for it.
> We could probably build in something using maven-ant-tasks but it'd be > far uglier.
You want to invoke methods in your Java code using Ruby (via JRuby) in your step defs?
Please explain what technology your Java project uses (Web? Swing? What frameworks?)
We could always add JRuby support in Cucumber-JVM, but I need to understand why this would be preferrable over MRI and Cucumber-Ruby (alive and kicking)..
I don't understand how the build tool (Ant/Maven) is relevant in this regard. Please help me understand.
> -- > You received this message because you are subscribed to the Google Groups "Cukes" group. > To post to this group, send email to cukes@googlegroups.com. > To unsubscribe from this group, send email to cukes+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/cukes?hl=en.
> Am 19/08/2011 um 7:57 AM schrieb Dmitriy Korobskiy <dkro...@gmail.com>:
>> On 8/18/11 5:28 PM, David Kowis wrote: >>> On Thu, Aug 18, 2011 at 3:57 PM, Dmitriy Korobskiy<dkro...@gmail.com> wrote: >>>> On 8/18/11 2:11 PM, David Kowis wrote: >>>>> I've got a couple projects that we're wanting to use Ruby step definitions >>>>> to facilitate the writing of our tests. >>>> What's stopping you from using native cucumber for those? >>> Sorry, sufficient context failure:
>>> It's a Java project, built using Maven. We're using the >> Got it. Maven... Sigh. >>> cuke4duke-maven-plugin to fire off cucumber feature tests for it.
>>> We could probably build in something using maven-ant-tasks but it'd be >>> far uglier. >> Isn't it well, strange that a simple command like invocation (>cucumber ...) is somehow >> problematic to do with Maven? I'm using Ant for build and it's a piece of cake as it should be.
> I've not worked with Maven, but it sounds like it would be helpful if there were a pre-built Maven task/target/rule/whatever that runs the plain Ruby Cucumber.
Can you give an example of a technology stack where you think this would be helpful?
> It night even be that this already exists in the cuke4duke Maven plug-in and just needs a little attention drawn to it.
> -- > You received this message because you are subscribed to the Google Groups "Cukes" group. > To post to this group, send email to cukes@googlegroups.com. > To unsubscribe from this group, send email to cukes+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/cukes?hl=en.
Aslak,
I will start using cucumber jvm.I tried building it last week, but I was getting many errors. Could have been pbkc errors, I admit as this is my third week with java/maven.
Can I use a fit style table structure with cucumber jvm...is there a capybara equivalent.
Arti
Sent from my BlackBerry device on the Rogers Wireless Network
Sender: cukes@googlegroups.com
Date: Thu, 18 Aug 2011 16:01:24 To: Cucumber Users<cukes@googlegroups.com>
Reply-To: cukes@googlegroups.com
Subject: [Cucumber:8727] Transitioning from Cuke4Duke to Cucumber-JVM
TL;DR: Cuke4Duke is dead. Viva Cucumber-JVM.
When Cucumber (the original ruby implementation) become somewhat
mature a couple of years ago I was thinking: Cucumber can run on JRuby
as well, and with some glue code it should be possible to write Step
Definitions in various JVM languages such as Java, Groovy, Scala,
Clojure etc. So Cuke4Duke was born.
It has worked well for some, less well for others. Since day 1 it has
had several inherent problems:
1) Hard to install. Cuke4Duke is based on JRuby, the Cucumber gem and
the Gherkin gem. Installing these in a Java environment is hard.
2) Slow. Every time you want to run a feature you have to wait for
JRuby to boot.
3) Hard to use. Maven makes it a little easier perhaps, but Maven
comes with its own warts.
4) Unstable. Consider the blocks that build up Cuke4Duke: JVM, JRuby,
RubyGems, Cucumber gem, Gherkin gem, Maven. For the sake of
simplicity, let's assume that each of those exists in 4 versions. That
means some 15.000 different combinations people might have on their
machines. And then there is Windows/Linux/OS X differences on top of
that.
5) Hard to test. Given the number of different permutations this
speaks for itself.
6) Hard to package and release. A hodge podge of Maven and Rake, plus
dealing with all of the dependencies.
The problems have been getting worse lately, and it's time to retire
the project because of its inherent flaws. As of today I will no
longer maintain Cuke4Duke. Instead I'll spend my time working on a
better replacement.
As some of you may know, I have been working on a pure JVM
implementation of Cucumber for a while. It incorporates the good parts
of Cuke4Duke, but not the bad ones (I hope). I think it's good enough
that some people can start playing with it. Here is where it's at:
* Mostly API compatible with Cuke4Duke
* Gherkin features can remain unchanged
* Step Definitions and Hooks will have to change some import statements
* The Java implementation is tested better than the other JVM
languages like Groovy etc, but they are there too.
* Scala has no support yet, will add that later.
* You can run features with JUnit
* A (JUnit-free) CLI is in progress (handy for e.g. Clojure or other
languages that don't use JUnit)
* It will be a lot faster
* Not a single line of Ruby and no JRuby
There are no docs yet, that will come later. I'm looking for people
who have some small to medium sized Cuke4Duke projects who would like
to try switching over. This will expose what the missing features are,
what needs to be documented etc.
For those who try - don't expect everything to work. I do need your
help testing it out to make it stabilise faster and get the features
it needs. I'll be here answering any questions you might have. I'm
*very* excited about this project! And we need contributors! Show the
Ruby community that the Java/Groovy/Clojure/Scala people can
contribute to open source too!
Cheers,
Aslak
-- You received this message because you are subscribed to the Google Groups "Cukes" group.
To post to this group, send email to cukes@googlegroups.com.
To unsubscribe from this group, send email to cukes+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/cukes?hl=en.
On Thu, Aug 18, 2011 at 5:09 PM, Rob Hunter <robertjhun...@gmail.com> wrote: >>> We could probably build in something using maven-ant-tasks but it'd be >>> far uglier. >> Isn't it well, strange that a simple command like invocation (>cucumber ...) is somehow >> problematic to do with Maven? I'm using Ant for build and it's a piece of cake as it should be.
> I've not worked with Maven, but it sounds like it would be helpful if there were a pre-built Maven task/target/rule/whatever that runs the plain Ruby Cucumber.
> It night even be that this already exists in the cuke4duke Maven plug-in and just needs a little attention drawn to it.
Perhaps, if you have an external Jruby, the cuke4duke-maven-plugin wraps it all in, as it should be, so it's very convienient and relatively easy to use.