-
Notifications
You must be signed in to change notification settings - Fork 12
Development cycle
This page outlines the standard BoneJ development process. It also details how the process differs, when working on a fork of an external repository (or when a developer outside bonej-org
wants to contribute to our repository).
- Create a topic branch for the fix/new feature
- Write code and unit tests
- Keep commits small - one commit does one thing
- Each commit in the history should build
- Changing formatting should happen in different commits than actual coding
- If necessary, write complementary wrapper and manual tests
- Check that code builds and tests pass on your computer by running
mvn clean package
- If you've added wrapper tests, run
mvn clean package -PallTests
instead
- Add Javadoc (at least) for
public
methods, fields and classes
- Check that Javadoc is valid with
mvn javadoc:javadoc
- Create a pull request and wait for it to be reviewed
- The PR can be merged when
- Review is complete
- Travis build passes
- There are no merge conflicts
For very small changes such as fixing a typo, or updating README.md the above process is too heavy-handed. Those kinds of commits can be pushed directly to the master
.
Developing on a fork is very similar to developing the repository itself. It just has a few additional pre-requirements:
- Create the fork (instructions)
- Synchronize the fork
If you're working on a fork of an external repository, such as imagej-ops
it's up to the maintainers of that repository to decide when to review your PR, and whether to accept and merge it at all. You should also conform to their guidelines, code style etc.