Also see Oli's entertaining presentation (including photos showing what to wear) at http://jweekend.com/dev/ArticlesPage or http://code.google.com/p/londonwicket.
Report a Bug
Wicket manages bug reports via the Apache Jira site: http://issues.apache.org/jira/browse/WICKET
It requires you to register with the site, to avoid spamming, and attribute credit where its due. It's relatively painless. Much harder is writing a clear and concise and bug report.
Etiquette for a bug report is:
...
You will be rewarded with subtle kudos and the bug is much more likely to be fixed promptly.
Build a Quickstart
See http://wicket.apache.org/start/quickstart.html for a good introduction to building a barebone Wicket project from one command. There is even a tool to let you customise the command for your project.
Or you can watch Al Maw's excellent screencast here: http://herebebeasties.com/2007-10-07/wicket-quickstart
The maven command provided there is the quickest way to get a working Wicket project that you can use to clearly demonstrate a bug.
...
- Checking out the Wicket source code from the Subversion repository.
- Building it via mvn or IDE plugin.
- Proving the bug exists, either via a Quickstart, or writing a unit test.
- Submitting your fix as a Subversion patch file.
Checking out Wicket from Subversion
seeThis guide will outline how to do it with Eclipse + Subclipse + m2eclipse.
If you prefer the command line, then start here: http://wicket.apache.org/building-from-svn.html
If you can provide a walk through for your IDE of choice then please do add it.
Setting up
Using an Eclipse 3.4.x flavour of your choice add install the following plugins
- Subclipse for accessing Subversion - Eclipse update site URL http://subclipse.tigris.org/update_1.6.x
- m2eclipse for maven support - Eclipse update site: http://m2eclipse.sonatype.org/update/
I usually install the entire Subclipse plugin, and all of m2eclipse except the Project configurators unless I am using a J2EE version of Eclipse.
I had a spurious error when adding the m2eclipse update site, "No repository found at http://www.md.pp.ru/~eu/12/" but it didn't cause any problems with the install.
Checking out Wicket from Subversion
- Add the Wicket Subversion repository - Navigate to Window > Show Perspective > Other... > SVN Repository Exploring (eclipse uses the term perspective to mean a collection of views, and a view is one single panel with some specific function like the navigator view or the editor view) In the SVN Repositories tab on the left, right click > New > Repository Location... and paste in the repository url: http://svn.apache.org/repos/asf/wicket
- Checkout the code - Click on the new Repository and navigate to: trunk > right click > checkout as maven project. Some serious churning will now occur as you download of Wicket source, and then maven crawls the internet for all the required libraries. Seriously, go for a stroll in the sunshine; the checkout and build took about 6minutes on my machine, and thats without maven needing to download anything.
Building Wicket
- The good news, all that waiting wasn't in vain, as you should now have a fully checked out, dependency managed, built, possibly working, Wicket code base.
Kick the tires
- Create a Quickstart via the wicket-archetype-quickstart
- Navigate to the pom.xml in your Quickstart project.
- Set version element to the same value as the one found in the Wicket project pom.xml (e.g. 1.4-SNAPSHOT)
- The plugin should automagically resolve the quickstart's Wicket dependency from the project rather than a .jar
- Find WicketApplication.java
- Click through to WebApplication class from the extends section of the class definition.
- If all is well, you should be taken to the Wicket project .java version of WebApplication rather than a .class file from a .jar
Proving a bug exists
- Writing a unit test with WicketTester
Submitting a patch
- Extract your changeset into a patch file - As we don't all have commit access to the svn repository, we need some other way of getting our changes to the developers. This is done by making an svn patch file, essentially a plain text diff, with some subversion specific formatting.
With the Subclipse plug-in creating a patch file is as simple as:
- Right click on the project root (e.g. wicket)
- > Team > Create Patch...
- Save In File System (and provide a filename, of the form WICKET-<bug id number>-fix.patch )
- > Next >
- Patch Root: Project
- Finish, you now have your patch file where you chose to put it in step 3
- Attach it to the relevant bug report with any further information you have