We appreciate that. But before you do, please learn our basic rules:
- This is not a support or discussion forum. If you have a question, please ask it on The Cukes Google Group.
- Do you have a feature request? Then don't expect it to be implemented unless you or someone else sends a pull request.
- Reporting a bug? We need to know what java/ruby/node.js etc. runtime you have, and what jar/gem/npm package versions you are using. Bugs with pull requests get fixed quicker. Some bugs may never be fixed.
- You have to tell us how to reproduce a bug. Bonus point for a pull request with a failing test that reproduces the bug.
- Want to paste some code or output? Put ``` on a line above and below your code/output. See Github Flavored Markdown's Fenced Code Blocks for details.
- We love pull requests, but if you don't have a test to go with it we probably won't merge it.
- Before making significant contribution consider discussing the outline of your solution first. This may avoid a duplication of efforts.
Cucumber-JVM is built with Maven.
mvn clean install
File -> Open Project -> path/to/cucumber-jvm/pom.xml
Your .feature
files must be in a folder that IDEA recognises as source or
test. You must also tell IDEA to copy your .feature
files to your output
directory:
Preferences -> Compiler -> Resource Patterns -> Add `;?*.feature`
If you are writing step definitions in a scripting language you must also add the appropriate file extension for that language as well.
Just load the root pom.xml
To contribute to Cucumber-JVM you need a JDK, Maven and Git to get the code. You also need to set your IDE/text editor to use:
- UTF-8 file encoding +
- LF (UNIX) line endings +
- No wildcard imports
- Curly brace on same line as block
- 4 Space indent (no tabs) +
- Java
- XML
- 2 Space indent (no tabs) +
- Gherkin
+
These are set automatically if you use an editor/IDE that supports
EditorConfig.
Please do not add @author tags - this project embraces collective code ownership. If you want to know who wrote some code, look in git. When you are done, send a pull request. If we get a pull request where an entire file is changed because of insignificant whitespace changes we cannot see what you have changed, and your contribution might get rejected.