NAME
Acme::Module::Build::Tiny - A tiny replacement for Module::Build
SYNOPSIS
# From the command line, run this:
$ btiny
# Which generates this Build.PL:
use inc; use Acme::Module::Build::Tiny;
# That's it!
DESCRIPTION
Many Perl distributions use a Build.PL file instead of a Makefile.PL file to drive distribution configuration, build, test and installation. Traditionally, Build.PL uses Module::Build as the underlying build system. This module provides a simple, lightweight, drop-in replacement.
Whereas Module::Build has over 6,700 lines of code; this module has under 200, yet supports the features needed by most pure-Perl distributions along with some useful automation for lazy programmers. Plus, it bundles itself with the distribution, so end users don't even need to have it (or Module::Build) installed.
Supported
* Pure purl distributions
* Recursive test files
* Automatic 'requires' and 'build_requires' detection (see below)
* Automatic MANIFEST generation
* Automatic MANIFEST.SKIP generation (if not supplied)
* Automatically bundles itself in inc/
Not Supported
* Dynamic prerequisites
* Generated code from PL files
* Building XS or C
* Manpage or HTML documentation generation
* Subclassing Acme::Module::Build::Tiny
* Licenses in META.yml other than 'perl'
Other limitations
* May only work on a Unix-like or Windows OS
* This is an Acme module -- use at your own risk
Directory structure
Your .pm and .pod files must be in lib/. Any executables must be in bin/. Test files must be in t/. Bundled test modules must be in t/lib/.
Automatic prequisite detection
Prerequisites of type 'requires' are automatically detected in *.pm files in lib/ from lines that contain a use()
function with a version number. E.g.:
use Carp 0 qw/carp croak/;
use File::Spec 0.86 ();
Lines may have leading white space. You may not have more than one use()
function per line. No other use()
or require()
functions are detected.
Prerequisites of type 'build_requires' are automatically detected in a similar fashion from any *.t files (recusively) in t/ and from any *.pm files in t/lib/.
USAGE
These all work pretty much like their Module::Build equivalents. The only configuration options currently supported are:
install_base
uninst
perl Build.PL
Build
Build test
Build install
Build clean
Build realclean
Build distdir
Build dist
CONFIG FILE AND ENVIRONMENT
Not yet supported.
SEE ALSO
AUTHOR
David Golden <dagolden@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2009 by David A. Golden
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.