Skip to content
This repository was archived by the owner on May 21, 2019. It is now read-only.

Build Cuke4Duke

aslakhellesoy edited this page Sep 13, 2010 · 8 revisions

You need Maven to build Cuke4Duke. (We might migrate to something simpler one day, but for now that’s it).

After you have cloned the cuke4duke Git repo onto your local machine, you’ll also need a fresh clone of the cucumber Git repo somewhere else on your machine. This is because cuke4duke master is always aligned with cucumber master, and things might break if you use earlier released cucumber gems.

Once you have cloned both repositories, run the following command from cuke4duke’s root folder:

OS X / Linux

RUBYLIB=/full/path/to/cucumber/lib \
mvn -P examples clean install \
-Dcuke4duke.bin=cuke4duke/bin/cuke4duke \
-Dcucumber.installGems=true

Windows

SET RUBYLIB=/full/path/to/cucumber/lib
mvn -P win clean install -Dcuke4duke.bin=cuke4duke/bin/cuke4duke -Dcucumber.installGems=true

(The path to your cucumber lib must point to the source of a cucumber codebase, which should be the most recent from Git).

This should build all the code and run all tests and examples. It’s important to note that this will not use the cucumber gem declared in the POMs, but instead use the cucumber specified with RUBYLIB.

This way, if you need to modify some code in cucumber to make something work in cuke4duke, you won’t have to build or install any gems.

Speeding things up

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.

Clone this wiki locally