CPAN Module Maintenance
Upcoming SlideShare
Loading in...5
×
 

CPAN Module Maintenance

on

  • 4,199 views

The tools that I use to maintain my CPAN modules.

The tools that I use to maintain my CPAN modules.

Statistics

Views

Total Views
4,199
Views on SlideShare
4,196
Embed Views
3

Actions

Likes
2
Downloads
30
Comments
0

2 Embeds 3

http://www.slideshare.net 2
http://www.linkedin.com 1

Accessibility

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

CPAN Module Maintenance CPAN Module Maintenance Presentation Transcript

  • Maintaining CPAN Modules
  • Dave Cross [email_address]
  • CPAN is Perl's Killer App
  • 16,645 modules 7,695 authors 6,129 MB 244 mirrors
  • I have 24 distributions on CPAN
  • Array::Compare AudioFile::Info AudioFile::Info::MP3::ID3Lib Audiofile::Info::MP3::Info AudioFile::Info::MP3::Tag AudioFile::Info::Ogg::Vorbis::Header AudioFile::Info::Ogg::Vorbis::Header::PurePerl Calendar::Simple Guardian::OpenPlatform::API Net::Backpack Number::Fraction Parse::RPM::Spec Perlanet Symbol::Approx::Sub Template::Plugin::AudioFile::Info Template::Plugin::RPM2 Template::Plugin::XML::Feed Tie::Hash::Cannabinol Tie::Hash::FixedKeys Tie::Hash::Regex WWW::Shorten WWW::Shorten::Qurl WWW::Shorten::Qwer WWW::Shorten::SnipURL
  • Not actually a huge number
  • MIYAGAWA has 149 ADAMK has 201
  • But 24 is enough to make maintenance a chore
  • Some things you don't need to worry about
  • Distribution
  • Installation
  • Testing
  • Cross-platform Testing
  • Some things you do need to worry about
  • Bug tracking
  • Source code control
  • Maintenance and enhancements
  • So what do you do?
  • Get help
  • Use other people's tools
  • Bug tracking
  • RT is awesome
  • Every CPAN module gets an RT queue
  • rt.cpan.org
  • Mention that in your module documentation
  • You'll still get email
  • RT accepts reports by mail
  • TIP: Redirect, don't forward
  • TIP: Send bugs to yourself
  • Use RT to remember everything you need to do to your modules
  • Source code control
  • I used to host my own Subversion repository
  • Far too much like hard work
  • Git is Good
  • Github is Great
  • Free source code repository for Open Source projects
  • Distributed source code control
  • Easy for people to fork and patch your code
  • Patches are better than bug reports
  • Patches with associated tests are even better
  • Github also gives you a wiki
  • Github also gives you a bug tracker
  • I ♥ Github
  • Maintenance and Enhancement
  • Let's trace a typical change
  • Change request comes in
  • RT ticket or CPAN test failure or I have an idea
  • Check out latest revision from Github
  • Write tests
  • Yes Write tests before writing code
  • Tests tell you when you are finished
  • Write code until tests pass
  • Write tests until ALL tests pass
  • Don't care which editor you use
  • But use a decent programmer's editor
  • Take time to configure it to your tastes
  • Have tests to test quality of distribution
  • Test::Pod Test::Pod::Coverage Devel::Cover
  • Tools to monitor quality of code
  • Perl::Tidy Perl::Critic
  • Commit changes to Github
  • Tag for release e.g. RELEASE_1.07
  • Build distribution upload to CPAN (cpan-upload)
  • PAUSE takes care of the rest
  • I also release to my web site code.mag-sol.com
  • Code available on Github github.com/davorg
  • Brief aside on building distributions
  • ExtUtils::MakeMaker Module::Build Module::Install
  • Helpful stuff on CPAN that I should really investigate
  • Module::Starter
  • Module::Release
  • Maintaining CPAN module need not be hard work
  • This is supposed to be fun
  • Plenty of help out there
  • Plenty of tools to use
  • Please join in
  •