| I" |
| <p>Wicket manages bug reports via the <a href="http://issues.apache.org/jira/browse/WICKET">Apache Jira site</a></p> |
| |
| <p>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 bug report.</p> |
| |
| <p>Etiquette for a bug report is:</p> |
| |
| <ol> |
| <li><strong>Always search for an existing bug report about the issue before adding |
| your own.</strong> This can be tricky, but several duplicate bug reports just |
| cause an administration headache for developers. If in doubt you can |
| always post the details of the bug to the <a href="email.html">mailing list</a>, and |
| wait to be asked to submit a bug report by a dev. But the jira search |
| functionality is pretty good, so do have go.</li> |
| <li><strong>Be clear and concise in your language.</strong> Wording a short but useful |
| summary, with a description that contains all the steps leading up to the |
| error plus any extra circumstantial evidence, is not always easy, but its |
| vital to getting the issue resolved, and really valuable.</li> |
| <li><strong>Watch the bug.</strong> The developers may ask you for more information via the |
| issue comments, so its good practices to check in on the issue whilst its |
| still open.</li> |
| <li><strong>Don’t be shy of maintaining the issue.</strong> If you find its a duplicate of |
| some other issue that was reported before yours, then mark it as a |
| duplicate, and watch the original. If you get more info on the bug, add it |
| as a comment. If it doesnt get noticed by a dev, try submitting a |
| quickstart or better still a patch. Ask for it to be reviewed via the |
| mailing list.</li> |
| </ol> |
| |
| <p>You will be rewarded with <a href="https://issues.apache.org/jira/secure/ConfigureReport.jspa?versionId=-1&issueStatus=all&selectedProjectId=12310561&reportKey=com.sourcelabs.jira.plugin.report.contributions%3Acontributionreport&Next=Next">subtle kudos</a> |
| and the bug is much more likely to be fixed promptly.</p> |
| |
| <h2 id="build-a-quickstart">Build a Quickstart</h2> |
| |
| <p>See <a href="/start/quickstart.html">getting started</a> 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.</p> |
| |
| <p>Or you can watch Al Maw’s excellent |
| <a href="http://herebebeasties.com/2007-10-07/wicket-quickstart">screencast</a> covering |
| the whole process of installing and running Maven, and getting your Eclipse |
| workspace set up.</p> |
| |
| <p>The Maven command provided there is the quickest way to get a working Wicket |
| project that you can use to clearly demonstrate a bug.</p> |
| |
| <p>Once you have an example that shows the minimum conditions under which the |
| issue occurs, then you can zip up the project and attach it to the relevant |
| issue.</p> |
| |
| <p>When a Wicket dev <a href="https://issues.apache.org/jira/browse/WICKET-497?focusedCommentId=12521870&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_12521870">asks you to submit a quickstart</a>, |
| that is what they mean.</p> |
| |
| <p>That is far more useful than posting reams of your application code and |
| telling everyone it doesn’t work. The former will help diagnose the problem, |
| the latter will mainly get you abused on the mailing list.</p> |
| |
| <h2 id="submit-a-patch">Submit a patch</h2> |
| |
| <p>This is the most involved, but the most rewarding route ;-). |
| In a nutshell this involves:</p> |
| <ul> |
| <li>Checking out the Wicket source code from the Subversion repository.</li> |
| <li>Building it via mvn or IDE plugin.</li> |
| <li>Proving the bug exists, either via a Quickstart, or writing a unit test.</li> |
| <li>Submitting your fix as a Subversion patch file.</li> |
| </ul> |
| |
| <p>This guide will outline how to do it with Eclipse + Subclipse + m2eclipse. |
| If you prefer the command line, then start here: <a href="/contribute/build.html">building from source</a> |
| If you can provide a walk through for your IDE of choice then please do add it.</p> |
| |
| <h3 id="setting-up">Setting up</h3> |
| |
| <p>Using an Eclipse 3.4.x flavour of your choice add install the following plugins</p> |
| |
| <ul> |
| <li><a href="http://subclipse.tigris.org/">Subclipse for accessing Subversion</a> - Eclipse update site URL http://subclipse.tigris.org/update_1.6.x</li> |
| <li><a href="http://m2eclipse.sonatype.org/">m2eclipse for maven support</a> - Eclipse update site: http://m2eclipse.sonatype.org/update/</li> |
| </ul> |
| |
| <p>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.</p> |
| |
| <h3 id="checking-out-wicket-from-subversion">Checking out Wicket from Subversion</h3> |
| |
| <ul> |
| <li> |
| <p><strong>Add the Wicket Subversion repository</strong> - 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</p> |
| </li> |
| <li><strong>Checkout the code</strong> - Click on the new Repository and navigate to: trunk |
| <blockquote> |
| <p>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.</p> |
| </blockquote> |
| </li> |
| <li><strong>Building Wicket</strong> - All that waiting wasn’t in vain, as you should now |
| have a fully checked out, dependency managed, built, possibly working, |
| Wicket code base.</li> |
| </ul> |
| |
| <h3 id="kick-the-tires">Kick the tires</h3> |
| |
| <ul> |
| <li>Create a Quickstart via the wicket-archetype-quickstart</li> |
| <li>Navigate to the pom.xml in your Quickstart project.</li> |
| <li>Set version element to the same value as the one found in the Wicket project pom.xml (e.g. 1.4-SNAPSHOT)</li> |
| <li>The plugin should automagically resolve the quickstart’s Wicket dependency from the project rather than a .jar</li> |
| <li>Find WicketApplication.java</li> |
| <li>Click through to WebApplication class from the extends section of the class definition.</li> |
| <li>If all is well, you should be taken to the Wicket project .java version of WebApplication rather than a .class file from a .jar</li> |
| </ul> |
| |
| <h3 id="proving-a-bug-exists">Proving a bug exists</h3> |
| |
| <ul> |
| <li><strong>Writing a unit test with WicketTester</strong></li> |
| </ul> |
| |
| <h3 id="submitting-a-patch">Submitting a patch</h3> |
| |
| <ul> |
| <li> |
| <p><strong>Extract your changeset into a patch file</strong> - 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:</p> |
| |
| <ol> |
| <li>Right click on the project root (e.g. wicket)</li> |
| <li> |
| <blockquote> |
| <p>Team > Create Patch…</p> |
| </blockquote> |
| </li> |
| <li>Save In File System (and provide a filename, of the form <strong>WICKET-<bug id number>-fix.patch</strong>)</li> |
| <li> |
| <blockquote> |
| <p>Next ></p> |
| </blockquote> |
| </li> |
| <li>Patch Root: Project</li> |
| <li>Finish, you now have your patch file where you chose to put it in step 3</li> |
| <li>Attach it to the relevant bug report with any further information you have</li> |
| </ol> |
| </li> |
| </ul> |
| :ET |