HACKING - a quick guide to coding on Siesta
So you want to contribute to Siesta? Excellent, step this way.
The first things you'll want to do are to subscribe to our mailing lists, get a copy of the code from the subversion repository, read that code, and the rest of this document.
There are currently two lists dedicated to the development of Siesta.
Where the coordination of the main development happens.
Where commit messages go. This is worth reading to see in what direction the code is moving.
To subscribe to any of these send email to
email@example.com and follow the instructions you get back.
If you can't deal with subversion yet (and we really recommend it), Nicholas Clark has come to the rescue with snapshot generation. At 4am and 4pm daily snapshots are generated here:
XXX explain the structure of the code layout a little
I know you're impatient to get going, but please follow through this through first.
These are only important because not keeping to them annoys richardc, and when that happens things tend to get defenestrated. We like to keep that to a minimum.
Since the dawn of time this argument has been running. Thankfully these years of fighting have allowed a solution to evolve - perltidy.
The mandated set of arguments to perltidy are encoded in the script
bin/run_perltidy, so now and again run
And no-one gets hurt.
Note: Actually sometimes we just ignore perltidy, it really loses the plot when we chain method calls, just be prepared to have your code remangled.
Tests will put hair on your chest and 20 years on your life, or maybe that was Ready-Brek. Either way we have a test suite, and it is expected that your new contributions will bolster and not break any existing tests.
Also it'd be nice if you can bear in mind test coverage. We have a target that runs the testsuite using Devel::Cover, so install that and periodically run:
Unified diffs are preferred, unified diffs produced from the top of a working directory doubly so. To produce these simply run this command in the top level directory.
svn diff -u
Being hip kids on the bleading edge we're using new modules, and sometimes finding bugs in them. As much as is possible we'll update the Build.PL to track the latest working release from CPAN, but there are times when that's not quite new enough.
These are the are the exceptions where you'll need to grab something from CVS (and/or urls of patches you should apply to the CPAN release) (version numbers are predicted fixed releases):
None at current time
Richard Clamp <firstname.lastname@example.org>
Copyright (c) 2002, 2003 Richard Clamp. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.