Contributing

Feel free to download the code from Subversion and contribute your code and ideas on the Wicket RAD mailing list/forum!

Before you contribute however, please read the Goals & Visions page.
Also, make sure that contributions are:
  • Properly unit tested. All code must have reasonable test coverage, and any contributions that do not have proper unit-tests will be discarded. This is simply in order to ensure that code, changes and additions can properly be regression tested with future changes. Good test coverage is essential to ensure the future stability and quality of the code.
  • Use patch and diff for code that changes existing code. Make sure that any provided patches are on the latest code in SVN to the best of your knowledge (unless it is a bug fix for a set version that has been branched in SVN).
We are more than happy to add new committers in the future, however before we give out commit privileges, we want to see a number of contributions that demonstrates an understanding of Wicket RAD and where it is going, the principles behind it, where contributions fit in the big picture, and an understanding for the quality- and development process (such as testing mentioned above).

Howto create a patch for your contribution (using patch/diff)
This guide is assuming you are working on a *nix (Linux, Mac) machine, or have a toolset such as Cygwin installed on Windows.

If you want to contribute, creating a patch is really simple, assuming you are working on the latest code from SVN:
The easiest way is simply to check out a clean, complete copy of what is in SVN for Wicket RAD and have it in a folder next to the folder of Wicket RAD that you are working on (in other words: have two copies of the source, one "clean", and one that you work on).

Once you are happy with your changes, first delete all .svn entries in both directories by running this command:
find . -name .svn -print0 | xargs -0 rm -rf

You want to remove these entries, as they are Subversion specific, and what you want to contribute in your patch is only the code changes, not the svn settings of your workspace!

After this, run a diff and output it into a patch file (please use the equivalent of the "trunk"/root directory for the project, for us to be able to consistently apply your patch):
diff -Naur olddir newdir > myPatchFile.patch

That's about it! Now just post a message to our Nabble list and upload the patch with it, and we will look at it, and if it is good, useful, relevant and fulfills our standards in terms of quality and tests, we will likely include it. If it is not accepted, we will still give you feedback, to ensure that the reason for its rejection is transparent, and so that changes can be made for it to be accepted in the future if it is relevant.