Your SlideShare is downloading. ×
0
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
CPAN Module Maintenance
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

CPAN Module Maintenance

2,930

Published on

The tools that I use to maintain my CPAN modules.

The tools that I use to maintain my CPAN modules.

Published in: Technology, Art & Photos
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,930
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
31
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

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.  

×