The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Task::BeLike::JJNAPIORK - Stuff I always use

SYNOPSIS

    cpanm Task::BeLike::JJNAPIORK

DESCRIPTION

When I bootstrap a new project, or when someone wants to contribute to one of my projects, there's a handful of modules you need which are not listed in the Makefile.PL. This module is intended to bundle those together so as to make it faster for me to bootstrap a new project and to make it easier for anyone that wants to contribute to a project I am working on.

USAGE

Typically when I start a new project, I build my Makefile.PL around the Module::Install ecosystem. I also use App::cpanminus and a few other bits to make using local::lib and git easier. This means before I can even get started (or a contributor started) we need some unnecessary ceremony. The Makefile.PL is great for managing the dependencies of a project, but it can't recursively manage its own dependencies, which means that authors (NOT installers) will always need to install a few bits to get started working. My goal here is to reduce that effort, at least for my current workflow. Hopefully you will catch some useful ideas that work for you.

Unlike most of the distributions in the Task::BeLike namespace, this is not a catchall of everything I love to use. This is a pretty minimum list, most of which have no or few dependencies with a very high rate of installation success. So if you want to be like me when starting a new project, this is it!

Typically I assume a locally installed perl (which is probably installed via App::perlbrew) and nothing else when starting a project. I then bootstrap a local::lib managed local directory of the basic dependencies and go from there. I use the online version of App::cpanminus to get this rolling:

  curl http://cpanmin.us/ -L | perl - -l ~/mylocal Task::BeLike::JJNAPIORK

After that, I open a command interpreter who's environment has been fixed up to find the local::lib which App::cpanminus has created:

  ~/mylocal/bin/localenv bash

After that I will use the project Makefile.PL to install project level dependencies, start a new project, etc.

MODULES INSTALLED

This Task module installs the following

App::cpanminus

Easier to install CPAN modules

Module::Install

Easier to manage your project dependencies

Module::Install::AuthorTests

Mark some tests as author only

Module::Install::GithubMeta

Add github repository stuff

Module::Install::AutoManifest

Make and clean manifest files for me

Module::Install::ReadmePodFromPod

Make the readme file I am always forgetting to do.

Module::Setup

For when I am too lazy to make my own project skeletons

App::Ack

Awesome searching power

App::local::lib::helper

Make it easier to use local::lib

Carp::REPL

Help with debugging

AUTHOR

John Napiorkowski <<jjnapiork@cpan.org> >

COPYRIGHT & LICENSE

Copyright 2010, John Napiorkowski

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.