|
NAMEHACKING.pod - contributing to TAP::HarnessABOUTThis is the guide for TAP::Harness internals contributors (developers, testers, documenters.)If you are looking for more information on how to use TAP::Harness, you probably want <http://testanything.org/testing-with-tap/perl/tap::parser-cookbook.html> instead. Getting StartedSee the resources section in META.yml or Build.PL for links to the project mailing list, bug tracker, svn repository, etc.For ease of reference, at the time of writing the SVN repository was at: http://svn.hexten.net/tapx To get the latest version of trunk: git clone git://github.com/Perl-Toolchain-Gang/Test-Harness.git For best results, read the rest of this file, check RT for bugs which scratch your itch, join the mailing list, etc. FormattingperltidyThe project comes with a ".perltidyrc", which perltidy will automatically use if the project root is your working directory. This is setup by default to read and write the perl code on a pipe. To configure your editor:
Tests and Coverage...Writing for Compatibility...Use TAP::ObjectTAP::Object is the common base class to all TAP::* modules, and should be for any that you write.Exception HandlingExceptions should be raised with Carp:require Carp; Carp::croak("Unsupported syntax version: $version"); require Carp; Carp::confess("Unsupported syntax version: $version"); Deprecation cycleAny documented sub that needs to be changed or removed (and would therefore cause a backwards-compat issue) must go through a deprecation cycle to give developers a chance to adjust:1. Document the deprecation 2. Carp a suitable message 3. Release 4. Change the code 5. Release DocumentationThe end-user and API documentation is all in the 'lib/' directory. In .pm files, the pod is "inline" to the code. See perlpod for more about pod.Pod CommandsFor compatibility's sake, we do not use the =head3 and =head4 commands.
Pod Formatting Codes
VERSIONThe version numbers are updated by Perl::Version.DEVELOPER DOCS/NOTESThe following "formats" are used with "=begin"/"=end" and "=for" commands for pod which is not part of the public end-user/API documentation.
Committing to SubversionIf you have commit access, please bear this in mind.Development is done either on trunk or a branch, as appropriate: If it's something that might be controversial, break the build or take a long time (more than a couple of weeks) to complete then it'd probably be appropriate to branch. Otherwise it can go in trunk. If in doubt discuss it on the mailing list before you commit.
Visit the GSP FreeBSD Man Page Interface. |