- Indentation: 3-spaces, no tabs
- maximum 120-column line length
jclouds uses Checkstyle to enforce a consistent coding style. Configure your IDE or run mvn checkstyle:checkstyle --quiet -Dcheckstyle.output.file=/dev/stdout -Dcheckstyle.output.format=plain before submitting pull requests.
- You can also see the Checkstyle results of your pull requests by clicking on the link to the DEV@cloud build in the comments (look for the cloudbees-pull-request-builder):
- Both Eclipse and Idea support Checkstyle integration.
jclouds Checkstyle does not enforce all coding styles that should be followed in pull requests. However, developers can use this jclouds profile (compatible for import in both Eclipse and Idea): eclipse-code-formatter.xml; Also when using Idea ensure that .* imports are not used (under code style -> imports).
- Java dependency: jclouds 2.0 and onwards target Java 7 and thus cannot use newer language features or API additions in Java 8. jclouds 1.8 and earlier target Java 6. Note that jclouds Maven configuration prevents incorrect use of newer language features but not newer APIs.
Guava: jclouds extensively uses Guava to provide additional functionality and consistent abstractions. jclouds code should reuse Guava functionality instead of including equivalent libraries, e.g., Apache Commons.