+++ date = "2016-12-31T13:23:24+01:00" draft = false title = "Contributing" weight = 100 teaser = "How to contribute to the MapStruct project" aliases = [ "/contributing/" ] [menu] [menu.main] parent = "Development" +++
You love MapStruct but miss a certain feature? You found a bug and want to report it, or even better, fix it yourself? That's great! MapStruct is all open source and your help is highly appreciated.
What | Where |
---|---|
Source code | https://github.com/mapstruct/mapstruct |
Issue tracker | https://github.com/mapstruct/mapstruct/issues |
Discussions | Join the mapstruct-users Google group |
CI build | https://mapstruct.ci.cloudbees.com |
This web site | https://github.com/mapstruct/mapstruct.org |
MapStruct follows the Fork & Pull development approach. To get started just fork the MapStruct repository to your GitHub account and create a new topic branch for each change. Once you are done with your change, submit a pull request against the MapStruct repo.
When doing changes, keep the following best practices in mind:
- Provide test cases
- Update the reference documentation on mapstruct.org where required
- Discuss new features you'd like to implement at the Google group before getting started
- Create one pull request per feature
- Provide a meaningful history, e.g. squash intermediary commits before submitting a pull request
- Start your commit messages with "#<issue no>", e.g. "#123 Adding new mapping feature"
- Have git automatically manage line endings as described here
- Format your sources using the provided IntelliJ code style template. Eclipse users can import the Eclipse code formatter settings - it's close enough, but configure the Save Actions to only format edited lines. If you use another IDE stick to the used style as much as possible.