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

Like this? Share it with your network

Share

CPAN Module Maintenance

on

  • 4,352 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,352
Views on SlideShare
4,349
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 Presentation Transcript

  • 1. Maintaining CPAN Modules
  • 2. Dave Cross [email_address]
  • 3. CPAN is Perl's Killer App
  • 4. 16,645 modules 7,695 authors 6,129 MB 244 mirrors
  • 5. I have 24 distributions on CPAN
  • 6. 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
  • 7. Not actually a huge number
  • 8. MIYAGAWA has 149 ADAMK has 201
  • 9. But 24 is enough to make maintenance a chore
  • 10. Some things you don't need to worry about
  • 11. Distribution
  • 12. Installation
  • 13. Testing
  • 14. Cross-platform Testing
  • 15. Some things you do need to worry about
  • 16. Bug tracking
  • 17. Source code control
  • 18. Maintenance and enhancements
  • 19. So what do you do?
  • 20. Get help
  • 21. Use other people's tools
  • 22. Bug tracking
  • 23. RT is awesome
  • 24. Every CPAN module gets an RT queue
  • 25. rt.cpan.org
  • 26. Mention that in your module documentation
  • 27. You'll still get email
  • 28. RT accepts reports by mail
  • 29. TIP: Redirect, don't forward
  • 30. TIP: Send bugs to yourself
  • 31. Use RT to remember everything you need to do to your modules
  • 32. Source code control
  • 33. I used to host my own Subversion repository
  • 34. Far too much like hard work
  • 35. Git is Good
  • 36. Github is Great
  • 37. Free source code repository for Open Source projects
  • 38. Distributed source code control
  • 39. Easy for people to fork and patch your code
  • 40. Patches are better than bug reports
  • 41. Patches with associated tests are even better
  • 42. Github also gives you a wiki
  • 43. Github also gives you a bug tracker
  • 44. I ♥ Github
  • 45. Maintenance and Enhancement
  • 46. Let's trace a typical change
  • 47. Change request comes in
  • 48. RT ticket or CPAN test failure or I have an idea
  • 49. Check out latest revision from Github
  • 50. Write tests
  • 51. Yes Write tests before writing code
  • 52. Tests tell you when you are finished
  • 53. Write code until tests pass
  • 54. Write tests until ALL tests pass
  • 55. Don't care which editor you use
  • 56. But use a decent programmer's editor
  • 57. Take time to configure it to your tastes
  • 58. Have tests to test quality of distribution
  • 59. Test::Pod Test::Pod::Coverage Devel::Cover
  • 60. Tools to monitor quality of code
  • 61. Perl::Tidy Perl::Critic
  • 62. Commit changes to Github
  • 63. Tag for release e.g. RELEASE_1.07
  • 64. Build distribution upload to CPAN (cpan-upload)
  • 65. PAUSE takes care of the rest
  • 66. I also release to my web site code.mag-sol.com
  • 67. Code available on Github github.com/davorg
  • 68. Brief aside on building distributions
  • 69. ExtUtils::MakeMaker Module::Build Module::Install
  • 70. Helpful stuff on CPAN that I should really investigate
  • 71. Module::Starter
  • 72. Module::Release
  • 73. Maintaining CPAN module need not be hard work
  • 74. This is supposed to be fun
  • 75. Plenty of help out there
  • 76. Plenty of tools to use
  • 77. Please join in
  • 78.