Mike Schilli's Friendly Neighborhood Perl Shop

Home
USArundbrief.com
Resume
CPAN Modules
Articles in English
Articles in German
Mike's Script Archive
English-Japanese Translation Trainer
Adventures with O'Reilly's Safari
10 Easy Steps to Become a California Driver
Unofficial perlmonks.com IRC Channel
My Collection of Outage Pages
Prisma (Computer Club Deutschland)
Mike's Monologues
Mike's Script Archive: ModDevUtils.pm

ModDevUtils - Development Utilities for Perl Modules



NAME

    ModDevUtils - Development Utilities for Perl Modules


DOWNLOAD

ModDevUtils.pm


SYNOPSIS

    use ModDevUtils;
    
        # Get the path of the main *.pm file in the tree
    my $file = ModDevUtils::main_pm_file();
        # Parse the setting of the $VERSION variable in a file
    ModDevUtils::parse_version_from_file($file);


DESCRIPTION

main_pm_file()

Descends down the current directory, trying to find the first *.pm file on its way, omitting the blib directory. Returns path/name of the first file if it finds one.

parse_version_from_file($file)

Read a *.pm file and parse the setting of $VERSION in it.

parse_version_from_file($file) derives the value of VERSION and the package name by brute-force scanning the module, similary to ExtUtils::MakeMaker.

update_readme()

Searches for the main *.pm file, grabs its $VERSION, formats its POD as text and creates README, containing a header like

    ###########################################
    # Foo::Bar vX.XX
    ###########################################

and its POD in plain text format.

update_manifest()

Just calls

    perl Makefile.PL
    make manifest

Use MANIFEST.SKIP for stuff you don't want to be included.

all_checked_in()

Verifies that git or cvs (depending on which SCM you're using) don't print anything which isn't checked in. Use .cvsignore or .gitignore for stuff you don't want to be reported. Returns a true value if everything is checked in.

tarball_name()

Determines the name of the module's tarball.

tag($version, $project)

Marks the release as rel_VERSION via cvs rtag.

release([$sloppy_scm], [$mpl_params])

Call pretty much every function in this module. If $sloppy_scm is set to a true value, the function will not enforce that everything is checked in. $sloppy_scm defaults to false if omitted, therefore enforcing that everything is checked in before the module is released. $mpl_params specifies any parameters that have to be given to a perl Makefile.PL call in your distribution.


LEGALESE

Copyright 2002-2009 by Mike Schilli, all rights reserved. This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.


AUTHOR

2009, Mike Schilli <m@perlmeister.com>


Latest update: 28-Sep-2014