Top Banner
Dist::Zilla raaaaaaaaar!
226

Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

May 03, 2018

Download

Documents

vutram
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Dist::Zillaraaaaaaaaar!

Page 2: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

What is Dist::Zilla?

Page 3: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

AWESOME

Page 4: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Any Questions?

Page 5: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

RJBS

Page 6: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

RJBS- cake and pie (and doughnuts)

Page 7: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

RJBS- cake and pie (and doughnuts)

- cocktails and beer

Page 8: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

RJBS- cake and pie (and doughnuts)

- cocktails and beer

- shooting zombies

Page 9: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

RJBS- cake and pie (and doughnuts)

- cocktails and beer

- shooting zombies

- giving away useful software

Page 10: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

CPAN!

Page 11: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

being a CPAN author is hard!let’s go gemming!

Page 12: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

Page 13: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

Page 14: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

ExtUtils::MakeMaker

Page 15: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

WriteMakefile( NAME => ‘YourApp’, AUTHOR => ‘You <[email protected]>’, VERSION_FROM => ‘lib/YourApp.pm’, ABSTRACT_FROM => ‘lib/YourApp.pm’, LICENSE => ‘perl’, PREREQ_PM => { ‘Lingua::EN::Inflect’ => 1.86, ‘Sub::Override’ => 0.07, ‘Test::More’ => 0, },);

Page 16: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

WriteMakefile( NAME => ‘YourApp’, AUTHOR => ‘You <[email protected]>’, VERSION_FROM => ‘lib/YourApp.pm’, ABSTRACT_FROM => ‘lib/YourApp.pm’, LICENSE => ‘perl’, PREREQ_PM => { ‘Lingua::EN::Inflect’ => 1.86, ‘Sub::Override’ => 0.07, ‘Test::More’ => 0, }, (eval { ExtUtils::MakeMaker->VERSION(6.46) } ? (META_MERGE => { resources => { Repository => ‘...’ } }) : ()),);

Page 17: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Module::Install

Page 18: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

use inc::Module::Install;all_from(‘lib/YourApp.pm’);

requires(‘Lingua::EN::Inflect’ => 1.86);requires(‘Sub::Override’ => 0.07);requires(‘Test::More’ => 0);

repository(...);

WriteAll();

Page 19: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

Page 20: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Module::Starter

Page 21: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/boilerplate.t

./t/pod-coverage.t

./t/pod.t

Page 22: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/boilerplate.t

./t/pod-coverage.t

./t/pod.t

Page 23: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

Page 24: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

Page 25: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./LICENSE

Page 26: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./LICENSE

./MANIFEST.SKIP

Page 27: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

Page 28: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

Page 29: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

Page 30: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

Page 31: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

Page 32: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

Page 33: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

Page 34: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

Page 35: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

Page 36: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

Page 37: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./Changes

Page 38: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./Changes

./lib/YourApp.pm

Page 39: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./Changes

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

Page 40: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./Changes

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

Page 41: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

./Changes

./LICENSE

./MANIFEST.SKIP

./Makefile.PL

./README

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

./t/unit-tests.t

./t/pod-coverage.t

./t/pod.t

./Changes

./lib/YourApp.pm

./lib/YourApp/Reticulator.pm

./lib/YourApp/Util/mtfnpy.pm

./lib/YourApp/Xyzzy.pm

Page 42: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving
Page 43: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

- updating version numbers

Page 44: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

- updating version numbers

- uploading to CPAN

Page 45: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

- updating version numbers

- uploading to CPAN

- committing, tagging releases in Git (VCS)

Page 46: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

- updating version numbers

- uploading to CPAN

- committing, tagging releases in Git (VCS)

- determine prerequisites

Page 47: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

- updating version numbers

- uploading to CPAN

- committing, tagging releases in Git (VCS)

- determine prerequisites

- other stuff that is totally boring

Page 48: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Dist::Zilla isAWESOME

Page 49: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving
Page 50: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

- eating cake and pie (and donuts)

Page 51: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

- eating cake and pie (and donuts)

- drinking cocktails and beer

Page 52: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

- eating cake and pie (and donuts)

- drinking cocktails and beer

- shooting zombies

Page 53: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

- eating cake and pie (and donuts)

- drinking cocktails and beer

- shooting zombies

- giving away useful software

Page 54: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Dist::Zilla isHUGE

Page 55: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

106 prereqs

Page 56: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

106 prereqs(and counting)

Page 57: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving
Page 58: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

- Dist::Zilla only handles “make dist”

Page 59: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

- Dist::Zilla only handles “make dist”

- it doesn’t handle “make install”

Page 60: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

- Dist::Zilla only handles “make dist”

- it doesn’t handle “make install”

- only authors need to install the 106 prereqs

Page 61: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

- Dist::Zilla only handles “make dist”

- it doesn’t handle “make install”

- only authors need to install the 106 prereqs

- your users don’t see Dist::Zilla

Page 62: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

- Dist::Zilla only handles “make dist”

- it doesn’t handle “make install”

- only authors need to install the 106 prereqs

- your users don’t see Dist::Zilla

- they just see MakeMaker or Module::Build

Page 63: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Dist::Zilla is also Stupid

Page 64: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

It keeps its brains in plugins.

Page 65: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

dist.ini

Page 66: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

# How Dist::Zilla builds a dist:

prepare;gather_files;prune_files;munge_files;register_prereqs;setup_installer;write_files;finish;

name = Your-Distlicense = Perl_5copyright_holder = J. Fred Bloggs

[GatherDir]include_dotfiles = 1

[PruneCruft][MetaYAML][MakeMaker][TestRelease][ConfirmRelease]

[UploadToCPAN]user = JFBpassword = QwardRules

Page 67: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

# How Dist::Zilla builds a dist:

prepare;gather_files;prune_files;munge_files;register_prereqs;setup_installer;write_files;finish;

name = Your-Distlicense = Perl_5copyright_holder = J. Fred Bloggs

[GatherDir]include_dotfiles = 1

[PruneCruft][MetaYAML][MakeMaker][TestRelease][ConfirmRelease]

[UploadToCPAN]user = JFBpassword = QwardRules

Page 68: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

# How Dist::Zilla builds a dist:

prepare;gather_files;prune_files;munge_files;register_prereqs;setup_installer;write_files;finish;

name = Your-Distlicense = Perl_5copyright_holder = J. Fred Bloggs

[GatherDir]include_dotfiles = 1

[PruneCruft][MetaYAML][MakeMaker][TestRelease][ConfirmRelease]

[UploadToCPAN]user = JFBpassword = QwardRules

Page 69: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

# How Dist::Zilla builds a dist:

prepare;gather_files;prune_files;munge_files;register_prereqs;setup_installer;write_files;finish;

name = Your-Distlicense = Perl_5copyright_holder = J. Fred Bloggs

[GatherDir]include_dotfiles = 1

[PruneCruft][MetaYAML][MakeMaker][TestRelease][ConfirmRelease]

[UploadToCPAN]user = JFBpassword = QwardRules

Page 70: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

name = Dist-Zillaauthor = Ricardo SIGNES <[email protected]>license = Perl_5copyright_holder = Ricardo SIGNES

[@Basic][AutoPrereq][AutoVersion][PkgVersion][MetaConfig][MetaJSON][NextRelease][PodSyntaxTests][Repository][PodWeaver][@Git]

Page 71: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

name = Dist-Zillaauthor = Ricardo SIGNES <[email protected]>license = Perl_5copyright_holder = Ricardo SIGNES

[@Basic][AutoPrereq][AutoVersion][PkgVersion][MetaConfig][MetaJSON][NextRelease][PodSyntaxTests][Repository][PodWeaver][@Git]

Page 72: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir][PruneCruft][ManifestSkip][MetaYAML][License][Readme][ExtraTests][ExecDir][ShareDir][MakeMaker][Manifest][TestRelease][ConfirmRelease][UploadToCPAN]

Page 73: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

name = Dist-Zillaauthor = Ricardo SIGNES <[email protected]>license = Perl_5copyright_holder = Ricardo SIGNES

[@Basic][AutoPrereq][AutoVersion][PkgVersion][MetaConfig][MetaJSON][NextRelease][PodSyntaxTests][Repository][PodWeaver][@Git]

Page 74: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Too much!

Page 75: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving
Page 76: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

dzil build

Page 77: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

dzil build

dzil test

Page 78: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

dzil build

dzil test

dzil install

Page 79: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

dzil build

dzil test

dzil install

dzil release

Page 80: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

How Dist::Zilla Builds

Page 81: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub build {

How Dist::Zilla Builds

Page 82: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub build { my ($self) = @_;

How Dist::Zilla Builds

Page 83: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub build { my ($self) = @_;

my @files = $self->gather_files;

How Dist::Zilla Builds

Page 84: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub build { my ($self) = @_;

my @files = $self->gather_files;

$self->munge_files( @files );

How Dist::Zilla Builds

Page 85: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub build { my ($self) = @_;

my @files = $self->gather_files;

$self->munge_files( @files );

$self->collect_metadata;

How Dist::Zilla Builds

Page 86: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub build { my ($self) = @_;

my @files = $self->gather_files;

$self->munge_files( @files );

$self->collect_metadata;

$self->write_out( @files );

How Dist::Zilla Builds

Page 87: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub build { my ($self) = @_;

my @files = $self->gather_files;

$self->munge_files( @files );

$self->collect_metadata;

$self->write_out( @files );}

How Dist::Zilla Builds

Page 88: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

How do you pick plugins?

Page 89: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

There is no default config.

Page 90: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

@Basic

Page 91: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir][PruneCruft][Manifest][ManifestSkip][MakeMaker][License][Readme][MetaYAML][ExtraTests][ExecDir][ShareDir][TestRelease][ConfirmRelease][UploadToCPAN]

The Basics

Page 92: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir][PruneCruft][Manifest][ManifestSkip][MakeMaker][License][Readme][MetaYAML][ExtraTests][ExecDir][ShareDir][TestRelease][ConfirmRelease][UploadToCPAN]

MANIFEST

The Basics

Page 93: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir][PruneCruft][Manifest][ManifestSkip][MakeMaker][License][Readme][MetaYAML][ExtraTests][ExecDir][ShareDir][TestRelease][ConfirmRelease][UploadToCPAN]

MANIFESTMakefile.PL

The Basics

Page 94: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir][PruneCruft][Manifest][ManifestSkip][MakeMaker][License][Readme][MetaYAML][ExtraTests][ExecDir][ShareDir][TestRelease][ConfirmRelease][UploadToCPAN]

MANIFESTMakefile.PL

LICENSE

The Basics

Page 95: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir][PruneCruft][Manifest][ManifestSkip][MakeMaker][License][Readme][MetaYAML][ExtraTests][ExecDir][ShareDir][TestRelease][ConfirmRelease][UploadToCPAN]

MANIFESTMakefile.PL

LICENSEREADME

The Basics

Page 96: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir][PruneCruft][Manifest][ManifestSkip][MakeMaker][License][Readme][MetaYAML][ExtraTests][ExecDir][ShareDir][TestRelease][ConfirmRelease][UploadToCPAN]

MANIFESTMakefile.PL

LICENSEREADME

META.yml

The Basics

Page 97: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Cruft Minimizers

Page 98: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[PkgVersion]

Cruft Minimizers

Page 99: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[PkgVersion][PodSyntaxTests]

Cruft Minimizers

Page 100: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[PkgVersion][PodSyntaxTests][PodCoverageTests]

Cruft Minimizers

Page 101: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[PkgVersion][PodSyntaxTests][PodCoverageTests][AutoPrereq]

Cruft Minimizers

Page 102: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[PkgVersion][PodSyntaxTests][PodCoverageTests][AutoPrereq][AutoVersion]

Cruft Minimizers

Page 103: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[PkgVersion][PodSyntaxTests][PodCoverageTests][AutoPrereq][AutoVersion][NextRelease]

Cruft Minimizers

Page 104: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[@Git]

[@Subversion]

[@Mercurial]

[@SVK]

Version Control

Page 105: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Pod::Weaver

Page 106: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;

=head1 NAME

YourApp - my awesome app

=head1 VERSION

version 1.001

=cut

our $VERSION = 0.001;

=head1 DESCRIPTION

This app is awesome.

=head1 METHODS

=head2 this_method

This method does stuff.

=cut

method this_method { ... }

=head2 that_method

Also stuff.

=cut

method that_method { ... }

=head1 AUTHOR

Margo Yapp <[email protected]>

=head1 LICENSE

Copyright (C) 2008, Margo Yapp.

This is distributed under the terms of the accidental death and dismemberment license and if you redistribuet this document youwill be “accidentally” deathed or dismembered. You have been told.

=cut

1;

Page 107: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;

=head1 NAME

YourApp - my awesome app

=head1 VERSION

version 1.001

=cut

our $VERSION = 0.001;

=head1 DESCRIPTION

This app is awesome.

=head1 METHODS

=head2 this_method

This method does stuff.

=cut

method this_method { ... }

=head2 that_method

Also stuff.

=cut

method that_method { ... }

=head1 AUTHOR

Margo Yapp <[email protected]>

=head1 LICENSE

Copyright (C) 2008, Margo Yapp.

This is distributed under the terms of the accidental death and dismemberment license and if you redistribuet this document youwill be “accidentally” deathed or dismembered. You have been told.

=cut

1;

Page 108: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;

=head1 NAME

YourApp - my awesome app

=head1 VERSION

version 1.001

=cut

our $VERSION = 0.001;

=head1 DESCRIPTION

This app is awesome.

=head1 METHODS

=head2 this_method

This method does stuff.

=cut

method this_method { ... }

=head2 that_method

Also stuff.

=cut

method that_method { ... }

=head1 AUTHOR

Margo Yapp <[email protected]>

=head1 LICENSE

Copyright (C) 2008, Margo Yapp.

This is distributed under the terms of the accidental death and dismemberment license and if you redistribuet this document youwill be “accidentally” deathed or dismembered. You have been told.

=cut

1;

Page 109: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;# ABSTRACT: my awesome app

=head1 VERSION

version 1.001

=cut

our $VERSION = 0.001;

=head1 DESCRIPTION

This app is awesome.

=head1 METHODS

=head2 this_method

This method does stuff.

=cut

method this_method { ... }

=head2 that_method

Also stuff.

=cut

method that_method { ... }

=head1 AUTHOR

Margo Yapp <[email protected]>

=head1 LICENSE

Copyright (C) 2008, Margo Yapp.

This is distributed under the terms of the accidental death and dismemberment license and if you redistribuet this document youwill be “accidentally” deathed or dismembered. You have been told.

=cut

1;

Page 110: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;# ABSTRACT: my awesome app

=head1 VERSION

version 1.001

=cut

our $VERSION = 0.001;

=head1 DESCRIPTION

This app is awesome.

=head1 METHODS

=head2 this_method

This method does stuff.

=cut

method this_method { ... }

=head2 that_method

Also stuff.

=cut

method that_method { ... }

=head1 AUTHOR

Margo Yapp <[email protected]>

=head1 LICENSE

Copyright (C) 2008, Margo Yapp.

This is distributed under the terms of the accidental death and dismemberment license and if you redistribuet this document youwill be “accidentally” deathed or dismembered. You have been told.

=cut

1;

Page 111: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;# ABSTRACT: my awesome app

our $VERSION = 0.001;

=head1 DESCRIPTION

This app is awesome.

=head1 METHODS

=head2 this_method

This method does stuff.

=cut

method this_method { ... }

=head2 that_method

Also stuff.

=cut

method that_method { ... }

=head1 AUTHOR

Margo Yapp <[email protected]>

=head1 LICENSE

Copyright (C) 2008, Margo Yapp.

This is distributed under the terms of the accidental death and dismemberment license and if you redistribuet this document youwill be “accidentally” deathed or dismembered. You have been told.

=cut

1;

Page 112: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;# ABSTRACT: my awesome app

our $VERSION = 0.001;

=head1 DESCRIPTION

This app is awesome.

=head1 METHODS

=head2 this_method

This method does stuff.

=cut

method this_method { ... }

=head2 that_method

Also stuff.

=cut

method that_method { ... }

=head1 AUTHOR

Margo Yapp <[email protected]>

=head1 LICENSE

Copyright (C) 2008, Margo Yapp.

This is distributed under the terms of the accidental death and dismemberment license and if you redistribuet this document youwill be “accidentally” deathed or dismembered. You have been told.

=cut

1;

Page 113: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;# ABSTRACT: my awesome app

=head1 DESCRIPTION

This app is awesome.

=head1 METHODS

=head2 this_method

This method does stuff.

=cut

method this_method { ... }

=head2 that_method

Also stuff.

=cut

method that_method { ... }

=head1 AUTHOR

Margo Yapp <[email protected]>

=head1 LICENSE

Copyright (C) 2008, Margo Yapp.

This is distributed under the terms of the accidental death and dismemberment license and if you redistribuet this document youwill be “accidentally” deathed or dismembered. You have been told.

=cut

1;

Page 114: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;# ABSTRACT: my awesome app

=head1 DESCRIPTION

This app is awesome.

=method this_method

This method does stuff.

=cut

method this_method { ... }

=method that_method

Also stuff.

=cut

method that_method { ... }

=head1 AUTHOR

Margo Yapp <[email protected]>

=head1 LICENSE

Copyright (C) 2008, Margo Yapp.

This is distributed under the terms of the accidental death and dismemberment license and if you redistribuet this document youwill be “accidentally” deathed or dismembered. You have been told.

=cut

1;

Page 115: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;# ABSTRACT: my awesome app

=head1 DESCRIPTION

This app is awesome.

=method this_method

This method does stuff.

=cut

method this_method { ... }

=method that_method

Also stuff.

=cut

method that_method { ... }

=head1 AUTHOR

Margo Yapp <[email protected]>

=head1 LICENSE

Copyright (C) 2008, Margo Yapp.

This is distributed under the terms of the accidental death and dismemberment license and if you redistribuet this document youwill be “accidentally” deathed or dismembered. You have been told.

=cut

1;

Page 116: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;# ABSTRACT: my awesome app

=head1 DESCRIPTION

This app is awesome.

=method this_method

This method does stuff.

=cut

method this_method { ... }

=method that_method

Also stuff.

=cut

method that_method { ... }

=head1 LICENSE

Copyright (C) 2008, Margo Yapp.

This is distributed under the terms of the accidental death and dismemberment license and if you redistribuet this document youwill be “accidentally” deathed or dismembered. You have been told.

=cut

1;

Page 117: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;# ABSTRACT: my awesome app

=head1 DESCRIPTION

This app is awesome.

=method this_method

This method does stuff.

=cut

method this_method { ... }

=method that_method

Also stuff.

method that_method { ... }

=head1 LICENSE

Copyright (C) 2008, Margo Yapp.

This is distributed under the terms of the accidental death and dismemberment license and if you redistribuet this document youwill be “accidentally” deathed or dismembered. You have been told.

=cut

1;

Page 118: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;# ABSTRACT: my awesome app

=head1 DESCRIPTION

This app is awesome.

=method this_method

This method does stuff.

=cut

method this_method { ... }

=method that_method

Also stuff.

=cut

method that_method { ... }

=cut1;

Page 119: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;# ABSTRACT: my awesome app

=head1 DESCRIPTION

This app is awesome.

=method this_method

This method does stuff.

=cut

method this_method { ... }

=method that_method

Also stuff.

=cut

method that_method { ... }

1;

Page 120: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package YourApp;# ABSTRACT: my awesome app

=head1 DESCRIPTION

This app is awesome.

=method this_method

This method does stuff.

=cut

method this_method { ... }

=method that_method

Also stuff.

=cut

method that_method { ... }

1;

Page 121: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[PodWeaver]

Page 122: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Converting Your Dist

Page 123: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Converting Your Dist

- create dist.ini

Page 124: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Converting Your Dist

- create dist.ini

- remove a bunch of files

Page 125: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Converting Your Dist

- create dist.ini

- remove a bunch of files

- delete a bunch of stuff from leftover files

Page 126: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Converting Your Dist

- create dist.ini

- remove a bunch of files

- delete a bunch of stuff from leftover files

- and Dist::Zooky, too

Page 127: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Questions so far?

Page 128: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Creating New Dists

Page 129: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

dzil builddzil testdzil installdzil release

Page 130: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

dzil builddzil testdzil installdzil release

dzil new

Page 131: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

profile.ini

Page 132: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving
Page 133: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir::Template]

Page 134: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir::Template]root = files

Page 135: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir::Template]root = files

[DistINI]

Page 136: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir::Template]root = files

[DistINI]

[Git::Init]

Page 137: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

How Dist::Zilla Mints

Page 138: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub mint {

How Dist::Zilla Mints

Page 139: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub mint { my ($self) = @_;

How Dist::Zilla Mints

Page 140: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub mint { my ($self) = @_;

my @files = $self->gather_files;

How Dist::Zilla Mints

Page 141: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub mint { my ($self) = @_;

my @files = $self->gather_files;

$self->munge_files( @files );

How Dist::Zilla Mints

Page 142: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub mint { my ($self) = @_;

my @files = $self->gather_files;

$self->munge_files( @files );

$self->make_module( $module );

How Dist::Zilla Mints

Page 143: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub mint { my ($self) = @_;

my @files = $self->gather_files;

$self->munge_files( @files );

$self->make_module( $module );

$self->write_out( @files );

How Dist::Zilla Mints

Page 144: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub mint { my ($self) = @_;

my @files = $self->gather_files;

$self->munge_files( @files );

$self->make_module( $module );

$self->write_out( @files );}

How Dist::Zilla Mints

Page 145: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving
Page 146: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir::Template]

Page 147: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir::Template]root = files

Page 148: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir::Template]root = files

[DistINI]

Page 149: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir::Template]root = files

[DistINI]

[Git::Init]

Page 150: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

config.ini

Page 151: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

~/.dzil/config.ini

Page 152: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[%User]name = Ricardo Signesemail = [email protected]

[%Rights]license_class = Perl_5copyright_holder = Ricardo Signes

[%PAUSE]username = RJBSpassword = PeasAreDelicious

Page 153: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

dzil setup

Page 154: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Minting a New Dist

- create config.ini (in ~/.dzil)

- maybe configure or install a profile

- run dzil new

Page 155: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Questions so far?

Page 156: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Writing Plugins!

Page 157: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Writing Plugins is Easy!

Page 158: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Writing Plugins is Easy!(and awesome)

Page 159: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

sub build { my ($self) = @_;

my @files = $self->gather_files;

$self->munge_files( @files );

$self->collect_metadata;

$self->write_out( @files );}

How Dist::Zilla Builds

Page 160: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

$self->munge_files( @files );

How Dist::Zilla Builds

Page 161: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

my @mungers = grep { $_->does(‘FileMunger’) } $self->plugins;

for my $plugin (@mungers) { $plugin->munge_files( @files );}

How Dist::Zilla Builds

Page 162: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Some::Class;use Moose;with ‘Some::Role’;

$obj->does( $role )

Page 163: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Roles to Make Plugins Go

Page 164: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

BeforeBuild

Roles to Make Plugins Go

Page 165: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

BeforeBuildFileGatherer

Roles to Make Plugins Go

Page 166: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

BeforeBuildFileGathererFilePruner

Roles to Make Plugins Go

Page 167: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

BeforeBuildFileGathererFilePrunerFileMunger

Roles to Make Plugins Go

Page 168: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

BeforeBuildFileGathererFilePrunerFileMungerPrereqSource

Roles to Make Plugins Go

Page 169: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

BeforeBuildFileGathererFilePrunerFileMungerPrereqSourceMetaProvider

Roles to Make Plugins Go

Page 170: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

BeforeBuildFileGathererFilePrunerFileMungerPrereqSourceMetaProviderAfterBuild

Roles to Make Plugins Go

Page 171: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

BeforeBuildFileGathererFilePrunerFileMungerPrereqSourceMetaProviderAfterBuild

BeforeArchive

Roles to Make Plugins Go

Page 172: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

BeforeBuildFileGathererFilePrunerFileMungerPrereqSourceMetaProviderAfterBuild

BeforeArchiveBeforeRelease

Roles to Make Plugins Go

Page 173: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

BeforeBuildFileGathererFilePrunerFileMungerPrereqSourceMetaProviderAfterBuild

BeforeArchiveBeforeReleaseReleaser

Roles to Make Plugins Go

Page 174: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

BeforeBuildFileGathererFilePrunerFileMungerPrereqSourceMetaProviderAfterBuild

BeforeArchiveBeforeReleaseReleaserAfterRelease

Roles to Make Plugins Go

Page 175: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Let’s write a plugin!

Page 176: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

BuiltOn

Page 177: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::BuiltOn;

BuiltOn

Page 178: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::BuiltOn;use Moose;

BuiltOn

Page 179: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::BuiltOn;use Moose;with ‘Dist::Zilla::Role::FileGatherer’;

BuiltOn

Page 180: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::BuiltOn;use Moose;with ‘Dist::Zilla::Role::FileGatherer’;

sub gather_files {

BuiltOn

Page 181: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::BuiltOn;use Moose;with ‘Dist::Zilla::Role::FileGatherer’;

sub gather_files { my ($self) = @_;

BuiltOn

Page 182: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::BuiltOn;use Moose;with ‘Dist::Zilla::Role::FileGatherer’;

sub gather_files { my ($self) = @_; my $file = Dist::Zilla::File::InMemory->new({

BuiltOn

Page 183: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::BuiltOn;use Moose;with ‘Dist::Zilla::Role::FileGatherer’;

sub gather_files { my ($self) = @_; my $file = Dist::Zilla::File::InMemory->new({ name => ‘built-on.txt’,

BuiltOn

Page 184: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::BuiltOn;use Moose;with ‘Dist::Zilla::Role::FileGatherer’;

sub gather_files { my ($self) = @_; my $file = Dist::Zilla::File::InMemory->new({ name => ‘built-on.txt’, content => scalar `uname -a`,

BuiltOn

Page 185: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::BuiltOn;use Moose;with ‘Dist::Zilla::Role::FileGatherer’;

sub gather_files { my ($self) = @_; my $file = Dist::Zilla::File::InMemory->new({ name => ‘built-on.txt’, content => scalar `uname -a`, });

BuiltOn

Page 186: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::BuiltOn;use Moose;with ‘Dist::Zilla::Role::FileGatherer’;

sub gather_files { my ($self) = @_; my $file = Dist::Zilla::File::InMemory->new({ name => ‘built-on.txt’, content => scalar `uname -a`, });

$self->add_file( $file );

BuiltOn

Page 187: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::BuiltOn;use Moose;with ‘Dist::Zilla::Role::FileGatherer’;

sub gather_files { my ($self) = @_; my $file = Dist::Zilla::File::InMemory->new({ name => ‘built-on.txt’, content => scalar `uname -a`, });

$self->add_file( $file );}

BuiltOn

Page 188: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[BuiltOn]

BuiltOn

Page 189: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::BuiltOn;use Moose;with ‘Dist::Zilla::Role::FileGatherer’;

has filename => ( is => ‘ro’, default => ‘built-on.txt’,);

sub gather_files { my ($self) = @_; my $file = Dist::Zilla::File::InMemory->new({ name => $self->filename, content => scalar `uname -a`, });

$self->add_file( $file );}

Page 190: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[BuiltOn]filename = build-host.txt

BuiltOn

Page 191: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[BuiltOn]

BuiltOn

Page 192: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Let’s write a another!

Page 193: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

AddShebangs

Page 194: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddShebangs;

AddShebangs

Page 195: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddShebangs;use Moose;

AddShebangs

Page 196: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddShebangs;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

AddShebangs

Page 197: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddShebangs;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

sub munge_file {

AddShebangs

Page 198: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddShebangs;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

sub munge_file { my ($self, $file) = @_;

AddShebangs

Page 199: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddShebangs;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

sub munge_file { my ($self, $file) = @_; next unless $file->name =~ /\.pl$/;

AddShebangs

Page 200: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddShebangs;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

sub munge_file { my ($self, $file) = @_; next unless $file->name =~ /\.pl$/;

my $content = “#!$^X\n”

AddShebangs

Page 201: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddShebangs;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

sub munge_file { my ($self, $file) = @_; next unless $file->name =~ /\.pl$/;

my $content = “#!$^X\n” . $file->content;

AddShebangs

Page 202: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddShebangs;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

sub munge_file { my ($self, $file) = @_; next unless $file->name =~ /\.pl$/;

my $content = “#!$^X\n” . $file->content;

$file->content( $content );

AddShebangs

Page 203: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddShebangs;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

sub munge_file { my ($self, $file) = @_; next unless $file->name =~ /\.pl$/;

my $content = “#!$^X\n” . $file->content;

$file->content( $content );}

AddShebangs

Page 204: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

AddBlame

Page 205: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddBlame;

AddBlame

Page 206: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddBlame;use Moose;

AddBlame

Page 207: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddBlame;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

AddBlame

Page 208: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddBlame;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

sub munge_file {

AddBlame

Page 209: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddBlame;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

sub munge_file { my ($self, $file) = @_;

AddBlame

Page 210: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddBlame;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

sub munge_file { my ($self, $file) = @_; next unless $file->name =~ /\.p[lm]$/;

AddBlame

Page 211: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddBlame;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

sub munge_file { my ($self, $file) = @_; next unless $file->name =~ /\.p[lm]$/;

my $content = “# BUILD BY $ENV{USER}\n”

AddBlame

Page 212: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddBlame;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

sub munge_file { my ($self, $file) = @_; next unless $file->name =~ /\.p[lm]$/;

my $content = “# BUILD BY $ENV{USER}\n” . $file->content;

AddBlame

Page 213: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddBlame;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

sub munge_file { my ($self, $file) = @_; next unless $file->name =~ /\.p[lm]$/;

my $content = “# BUILD BY $ENV{USER}\n” . $file->content;

$file->content( $content );

AddBlame

Page 214: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

package Dist::Zilla::Plugin::AddBlame;use Moose;with ‘Dist::Zilla::Role::FileMunger’;

sub munge_file { my ($self, $file) = @_; next unless $file->name =~ /\.p[lm]$/;

my $content = “# BUILD BY $ENV{USER}\n” . $file->content;

$file->content( $content );}

AddBlame

Page 215: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir][PruneCruft]

Page 216: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir][PruneCruft][AddShebangs][AddBlame]

Page 217: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir][PruneCruft][AddShebangs][AddBlame]

print “Hello.\n”;

Page 218: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir][PruneCruft][AddShebangs][AddBlame]

#!/usr/bin/perlprint “Hello.\n”;

Page 219: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir][PruneCruft][AddShebangs][AddBlame]

# built by rjbs#!/usr/bin/perlprint “Hello.\n”;

Page 220: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

[GatherDir][PruneCruft][AddBlame][AddShebangs]

#!/usr/bin/perl# built by rjbsprint “Hello.\n”;

Page 221: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

In Conclusion...

Page 222: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Dist::Zilla is..?

Page 223: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Dist::Zilla is:

- judges will accept:

- awesome

- huge

- stupid

Page 224: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

We are Friendly

- irc.perl.org #distzilla

- http://dzil.org/

- mailing list

- http://rt.cpan.org/

Page 225: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Any Questions?

Page 226: Dist::Zilla - O'Reilly Mediaassets.en.oreilly.com/1/event/45/Dist__Zilla - Maximum Overkill for... · RJBS-cake and pie (and doughnuts)-cocktails and beer-shooting zombies-giving

Thank you!raaaaaaaaar!