Skip to content

Latest commit

 

History

History
79 lines (61 loc) · 2.88 KB

CONTRIBUTING.md

File metadata and controls

79 lines (61 loc) · 2.88 KB

About to contribute?

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.

Building Cucumber-JVM

Cucumber-JVM is built with Maven.

mvn clean install

IDE Setup

IntelliJ IDEA

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.

Eclipse

Just load the root pom.xml

Contributing

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.