Managing Complexity with Module::Release

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Groups & 1 Event

    Managing Complexity with Module::Release - Presentation Transcript

    1. Managing Complexity with Module::Release brian d foy, Stonehenge Consulting Ser vices brian@stonehenge.com Nordic Perl Workshop June 16, 2006 www.stonehenge.com
    2. Releasing code is hard...
    3. actually, it’s too easy...
    4. Releasing good code is hard...
    5. Did I ... ? test everything disttest everything check in the sources include new files in MANIFEST update Changes and README
    6. Then I have to... upload to PAUSE claim in PAUSE upload to Sourceforge overly-complicated Sourceforge file release tag the release in source control announce the release
    7. When I find out... what the PAUSE indexer thinks what CPAN Testers think if I’m missing something in PREREQ_PM if I’ve included too little or too much how poor my kwalitee is
    8. Rinse, repeat...
    9. Annoy users
    10. Now do that for 50 distributions
    11. I make mistakes because... Repetitive tasks are boring Focused on bug squashing Want to release code Need to fix a different module Want to do something else Want to do anything else
    12. Automate!
    13. Computers love... doing the same thing over and over(?: and over)+ doing it the same way every time doing it again if I mess up
    14. release(1) Part of Module::Release
    15. Automate steps sub test { my $self = shift; print \"Checking make test... \"; unless( -e 'Makefile.PL' ) { print \" no Makefile.PL---skipping\\n\"; return; } my $tests = $self->run( \"$self->{make} test 2>&1\" ); die \"\\nERROR: Tests failed!\\n$tests\\n\\n\" unless $tests =~ /All tests successful/; print \"all tests pass\\n\"; }
    16. Create process my $release = Module::Release->new( %params ); $release->clean; $release->build_makefile; $release->test; $release->dist; $release->dist_test; $release->check_cvs; $release->clean; $release->build_makefile; $release->dist; $release->check_for_passwords; $release->ftp_upload; $release->pause_claim;
    17. Fearless releases Problems are fatal Errors tell me what to fix Nothing updates until everything is good Too bad there isn’t unrelease(1)
    18. New problem, new step
    19. Did I update $VERSION? Anyone want to write Test::GreaterVersion?
    20. Future directions Pluggable modules Support for more checks Not just for Perl More canned scripts working title: Starburst

    + _brian d _foy_brian d _foy, 2 years ago

    custom

    2180 views, 0 favs, 0 embeds more stats

    Automating Perl module release with Module::Release more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2180
      • 2180 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories