-
Notifications
You must be signed in to change notification settings - Fork 72
Build Cuke4Duke
You need Maven to build Cuke4Duke. (We might migrate to something simpler one day, but for now that’s it).
You will also need to clone the following repos (alternatively your own or someone else’s fork):
- git://github.com/cucumber/cuke4duke.git
- git://github.com/cucumber/cucumber.git
- git://github.com/cucumber/gherkin.git
You’ll need these because cuke4duke master is always aligned with cucumber and gherkin master, and things might break if you use earlier released cucumber or gherkin gems.
While in the gherkin
root directory, run
rake clean jar
(You will need Ragel installed – see gherkin’s README for details).
Setting this will make JRuby use gherkin and cucumber from your source instead of installed gems. This way, if you need to modify some code in cucumber or gherkin to make something work in cuke4duke, you won’t have to build or install any gems.
RUBYLIB=/full/path/to/cucumber/lib:/full/path/to/gherkin/lib \
SET RUBYLIB=/full/path/to/cucumber/lib;/full/path/to/gherkin/lib
Run the following command from cuke4duke’s root folder:
mvn -P examples clean install -Dcuke4duke.bin=cuke4duke/bin/cuke4duke \ -Dcucumber.installGems=true
This should build all the code and run all tests and examples.
When you have run with -Dcucumber.installGems=true
once, all of the gems that cucumber relies upon will be installed, so you can remove this JVM system property in subsequent builds. That will shave some time off your builds because nothing needs to be downloaded. At this point you can also speed up Maven by putting it offline with -o
.