Files
openlayers/CONTRIBUTING.md
2012-09-28 16:23:51 +02:00

69 lines
1.9 KiB
Markdown

# Guidelines for contributing
## Code formatting
We use the [Closure
Linter](https://developers.google.com/closure/utilities/docs/linter_howto) for
checking JavaScript files for style issues. To execute the linter use:
$ make lint
This command assumes that the `gjslint` command in on your PATH.
## Code compilation
The OpenLayers 3 is compiled and type-checked using the [Closure
Compiler](https://developers.google.com/closure/compiler/). To
compile the code use:
$ make build-all
## Generating doc
We use [jsdoc3](https://github.com/jsdoc3/jsdoc) to generate the API
doc. Changing the code can break the generation of the API
doc. Use the following to generate the doc:
$ make doc
This command assumes that the `jsdoc` command is on your PATH.
## Tests
Changes should not break existing tests. We use
[PhantomJS](http://phantomjs.org/) to run tests *headlessly*.
Use the following to run the tests:
$ make test
This command assumes that the `phantomjs` command is on your PATH.
## The `precommit` target
The Makefile includes a `precommit` target for running all of the
above (`lint`, `build-all`, `doc`, and `test`). As the name of the
target suggests `make precommit` is the command to run before
committing:
$ make precommit
## Commit messages
We follow http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
for the formatting of commit messages.
Basically, here's what a Git commit message should look like:
Header line: explaining the commit in one line
Body of commit message is a few lines of text, explaining things
in more detail, possibly giving some background about the issue
being fixed, etc etc.
The body of the commit message can be several paragraphs, and
please do proper word-wrap and keep columns shorter than about
74 characters or so. That way "git log" will show things
nicely even when it's indented.
Further paragraphs come after blank lines.