Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion Transitioning from Cuke4Duke to Cucumber-JVM

Date: Thu, 18 Aug 2011 08:47:01 -0700 (PDT)
From: Alan Wostenberg <awo...@gmail.com>
Reply-To: cukes@googlegroups.com
To: cukes@googlegroups.com
Message-ID: <17926869.3419.1313682421502.JavaMail.geo-discussion-forums@yqle4>
In-Reply-To: <CAKDF_QQe-s1tsw8_N5ZN2xWX+mGmXwg6tPVt_V39gC6sjPG6Dw@mail.gmail.com>
References: <CAKDF_QQe-s1tsw8_N5ZN2xWX+mGmXwg6tPVt_V39gC6sjPG6Dw@mail.gmail.com>
Subject: Re: Transitioning from Cuke4Duke to Cucumber-JVM
MIME-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_3417_85681.1313682421499"

------=_Part_3417_85681.1313682421499
Content-Type: multipart/alternative; 
	boundary="----=_Part_3418_30770442.1313682421499"

------=_Part_3418_30770442.1313682421499
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable



Aslak, this is great news and I'll give this a whirl immediately with our=
=20
existing cuke4duke tests.


However as of August 16th, the "gem install cuke4duke" stopped working, as=
=20
described in thread "trouble installing gherkin gem" (log at=20
https://gist.github.com/1152852).  Would you be willing to invest a little=
=20
time in it?=20


Meanwhile I'll jump right on this  Cucumber-jvm, since the old cuke4duke no=
=20
longer works on our continuous integration servers.


-Alan Wostenberg



On Thursday, August 18, 2011 9:01:24 AM UTC-6, Aslak Helles=C3=B8y 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.
>
> Cucumber-JVM is currently not released anywhere, so you'll have to
> build it yourself: https://github.com/cucumber/cucumber-jvm
>
> 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
>
>
------=_Part_3418_30770442.1313682421499
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<p style=3D"margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica">Aslak,=
 this is great news and I'll give this a whirl immediately with our existin=
g cuke4duke tests.</p>
<p style=3D"margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-he=
ight: 14.0px"><br></p><p style=3D"margin: 0.0px 0.0px 0.0px 0.0px; font: 12=
.0px Helvetica; min-height: 14.0px">However as of August 16th, the "gem ins=
tall cuke4duke" stopped working, as described in thread "trouble installing=
 gherkin gem" (log at https://gist.github.com/1152852). &nbsp;Would you be =
willing to invest a little time in it?&nbsp;</p><p style=3D"margin: 0.0px 0=
.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><br></p><p st=
yle=3D"margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height:=
 14.0px">Meanwhile I'll jump right on this &nbsp;Cucumber-jvm, since the ol=
d cuke4duke no longer works on our continuous integration servers.<br></p><=
p style=3D"margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"><br></p=
><p style=3D"margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica">-Alan=
 Wostenberg</p><p style=3D"margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px He=
lvetica"><br></p><br>On Thursday, August 18, 2011 9:01:24 AM UTC-6, Aslak H=
elles=C3=B8y wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;mar=
gin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">TL;DR: Cuke=
4Duke is dead. Viva Cucumber-JVM.<p>When Cucumber (the original ruby implem=
entation) become somewhat<br>mature a couple of years ago I was thinking: C=
ucumber can run on JRuby<br>as well, and with some glue code it should be p=
ossible to write Step<br>Definitions in various JVM languages such as Java,=
 Groovy, Scala,<br>Clojure etc. So Cuke4Duke was born.</p><p>It has worked =
well for some, less well for others. Since day 1 it has<br>had several inhe=
rent problems:</p><p>1) Hard to install. Cuke4Duke is based on JRuby, the C=
ucumber gem and<br>the Gherkin gem. Installing these in a Java environment =
is hard.<br>2) Slow. Every time you want to run a feature you have to wait =
for<br>JRuby to boot.<br>3) Hard to use. Maven makes it a little easier per=
haps, but Maven<br>comes with its own warts.<br>4) Unstable. Consider the b=
locks that build up Cuke4Duke: JVM, JRuby,<br>RubyGems, Cucumber gem, Gherk=
in gem, Maven. For the sake of<br>simplicity, let's assume that each of tho=
se exists in 4 versions. That<br>means some 15.000 different combinations p=
eople might have on their<br>machines. And then there is Windows/Linux/OS X=
 differences on top of<br>that.<br>5) Hard to test. Given the number of dif=
ferent permutations this<br>speaks for itself.<br>6) Hard to package and re=
lease. A hodge podge of Maven and Rake, plus<br>dealing with all of the dep=
endencies.</p><p>The problems have been getting worse lately, and it's time=
 to retire<br>the project because of its inherent flaws. As of today I will=
 no<br>longer maintain Cuke4Duke. Instead I'll spend my time working on a<b=
r>better replacement.</p><p>As some of you may know, I have been working on=
 a pure JVM<br>implementation of Cucumber for a while. It incorporates the =
good parts<br>of Cuke4Duke, but not the bad ones (I hope). I think it's goo=
d enough<br>that some people can start playing with it. Here is where it's =
at:</p><p>* Mostly API compatible with Cuke4Duke<br>* Gherkin features can =
remain unchanged<br>* Step Definitions and Hooks will have to change some i=
mport statements<br>* The Java implementation is tested better than the oth=
er JVM<br>languages like Groovy etc, but they are there too.<br>* Scala has=
 no support yet, will add that later.<br>* You can run features with JUnit<=
br>* A (JUnit-free) CLI is in progress (handy for e.g. Clojure or other<br>=
languages that don't use JUnit)<br>* It will be a lot faster<br>* Not a sin=
gle line of Ruby and no JRuby</p><p>There are no docs yet, that will come l=
ater. I'm looking for people<br>who have some small to medium sized Cuke4Du=
ke projects who would like<br>to try switching over. This will expose what =
the missing features are,<br>what needs to be documented etc.</p><p>Cucumbe=
r-JVM is currently not released anywhere, so you'll have to<br>build it you=
rself: <a href=3D"https://github.com/cucumber/cucumber-jvm" target=3D"_blan=
k">https://github.com/cucumber/<wbr>cucumber-jvm</a></p><p>For those who tr=
y - don't expect everything to work. I do need your<br>help testing it out =
to make it stabilise faster and get the features<br>it needs. I'll be here =
answering any questions you might have. I'm<br>*very* excited about this pr=
oject! And we need contributors! Show the<br>Ruby community that the Java/G=
roovy/Clojure/Scala people can<br>contribute to open source too!</p><p>Chee=
rs,<br>Aslak<br></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p=
><p></p></blockquote>
------=_Part_3418_30770442.1313682421499--

------=_Part_3417_85681.1313682421499--