Alister West

home is where your code is ...

perl-cpan

Initialise new module with Module::Starter

# http://stackoverflow.com/questions/73889/which-framework-should-i-use-to-write-modules
# recommends Module::Build

module-starter \
    --module  My::Module \
    --dir     my-module \
    --builder Module::Build \
    --author  'Alister West' \
    --email   'alister@alisterwest.com' \
    --license perl \
    --verbose

cd my-module
mv ignore.txt .gitignore
git init
git add * .gitignore
git commit -a -m 'Inital Commit'

Add libs/scripts/docs

vim lib/My/Module.pm
# .. hack hack hack .. commit

# Generate a README from My::Module's pod
# http://blogs.perl.org/users/michal_wojciechowski/2011/11/github-friendly-readme-files-with-extutils-makemaker-and-module-build.html

perl Build.PL
./Build
./Build docs
./Build manifest 
./Build dist 

Uplaod to git

Create empty project on github or a bare repo. Then add remote as origin and push.

git remote add origin https://github.com/coffeemonster/my-shiny-new-project.git
git push -u origin master

Module::Install for RT::Extension::GroupBroadcast

Using M:I for RT extensions as it comes with an ::RTx installer.

# MakeMaker / Module::Install
make clean
DIST_BUILD=1 perl Makefile.PL
make manifest
make dist

# if cpan-upload installed
make upload 
By Alister West