Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: Trying to build a module for upload to CPAN

by NERDVANA (Pilgrim)
on Oct 29, 2021 at 08:37 UTC ( #11138178=note: print w/replies, xml ) Need Help??

in reply to Trying to build a module for upload to CPAN

Iíll suggest Dist::Zilla since nobody else did yet. At first look, it seems very heavyweight (based on Moose with lots of plugins) but those plugins are what let Dist::Zilla adapt to your preferred workflow for publishing a module.

I like to use #VERSION comments in my files that get replaced by whatever version is being built, default to the next version based on the last git tag, have Git be responsible for the MANIFEST, move all my POD to the __END__ of the file, automatically determine my prereqs but let me override them, and test my code for documentation coverage. You can see a minimal configuration for all of that in my module Log::Progress / dist.ini

Once everything is installed, my release process is "dzil test" then "dzil release", it prompts me for my PAUSE password, then it's published. Releasing a dev version is "V=1.11_01 dzil release" then later "V=1.12 dzil release" to get back to 2 decimal places.

  • Comment on Re: Trying to build a module for upload to CPAN

Replies are listed 'Best First'.
Re^2: Trying to build a module for upload to CPAN
by talexb (Chancellor) on Oct 29, 2021 at 13:03 UTC

    Thanks for the suggestion .. I saw that was one of the alternatives, but I also read the warnings that it was a bit of a battleship, and decided that there must be something a little more lightweight for my tiny module that has one dependency.

    Alex / talexb / Toronto

    Thanks PJ. We owe you so much. Groklaw -- RIP -- 2003 to 2013.

Re^2: Trying to build a module for upload to CPAN
by perlfan (Vicar) on Oct 29, 2021 at 09:01 UTC
    I agree here. It's really a guilty pleasure because it's so massive, but you only need to install it on your dev machine.

      But you raise the bar for anyone willing to come up with a patch.

      I've seen not a single project using Dist::Zilla that does not requires (many) additional modules and plugins that won't be used for anything else and thus clutter *my* development box if I want to not only fix something, but also test it before I submit a PR.

      Whereever possible, I will stick to ExtUtils::MakeMaker and it has so far never let me down.

      And for all those that add scripts: add them to a folder (e.g. sandbox) in your git repo, so people trying to help you have them too. And document them in Makefile.PL or README.

      My Ä0.02

      Also read Release::Checklist for motivations.

      Enjoy, Have FUN! H.Merijn
        It's total excess; OTOH if one just gives in to the gluttony, it's them pretty easy for them to "do the needful". YMMV but your point is well taken.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11138178]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (3)
As of 2022-05-23 01:17 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (81 votes). Check out past polls.