cpan module maintenance

Download CPAN Module Maintenance

If you can't read please download the document

Upload: dave-cross

Post on 16-Apr-2017

3.488 views

Category:

Technology


0 download

TRANSCRIPT

Maintaining
CPAN
Modules

Dave Cross
[email protected]

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