WiX Toolset Development
So you want to hack on the WiX Toolset? Excellent. Here's what you need to do...but first, there are some one-time logistical hoops to jump through.
To get started as a developer we recommend walking through the following steps. You can do them in any order or even in parallel but all of them need to be completed before your first submission can be committed.
- Join the wix-devs mailing list.
- Sign the WiX toolset Contribution License Agreement.
- Create a fork of the Git repository on GitHub for WiX v3.x or WiX v4.x and clone it to your development machine.
- Find something to work on. Take a look at the issues database for open bugs or open feature requests. Look for issues that aren't assigned to someone already. If you have an idea for a new feature, open a new feature request.
- Stake your claim. If the issue is marked No one assigned, add a comment indicating that you want to work on it.
- Discuss how you'd fix the bug or implement the feature. Start a thread on the wix-devs mailing list outlining your approach.
- Act on the feedback. Not everybody's perfect every time (or so I'm told). Depending on how interesting your issue is, you might get feedback that concurs with your approach or feedback that suggests alternatives. Don't be sad; free feedback is one of the great benefits of contributing to open-source projects. Take it in the positive spirit we hope it was intended.
- If needed, create a WiX Improvement Proposal (WIP). WIPs are lightweight documents that record the data that influenced how an issue was resolved. They're not usually needed for bug fixes but implementing a feature generally involves assumptions and ideas that should be recorded for posterity. The WIP instructions have all the details.
- Code your change and test it. Review our code style and write consistent code throughout the project. Remember to build WiX in both debug and release modes, and to run test\test.bat to make sure nothing is broken.
- Send a pull request. A committer will review your pull request and might have feedback that requires you to make further changes. The review cycle might take a few turns -- we're sticklers for code quality.
- Repeat. Your first change is accepted and getting used by WiX users all over the world. Go grab another bug and do it all over again.