Questions tagged [dist-zilla]

Dist::Zilla is a Module development and release toolkit for the Perl Programming Language, which utilizes plugins to make mundane tasks easy to automate.

Dist::Zilla is a Module development and release tool-kit for the Perl Programming Language.

Dist::Zilla has a large collection of Plugins, which can be used to achieve various tasks common for module authors.

  1. Generate common tests, eg:
    1. End-of-line/whitespace checks.
    2. perl-critic tests.
    3. documentation coverage tests.
  2. Create the initial project in a customized way.
  3. Augment files in varying ways, eg:
    1. Inject $VERSION= code.
    2. Inject Boiler-plate POD documentation parts automatically ( ie: NAME, VERSION )
    3. Reformat documentation and rearrange it in user-specified ways.
  4. Automate Integration with SCM's like Git to perform various tasks, eg:
    1. Automate version incrementing by scanning git tags.
    2. Automate tagging on release.
    3. Automate maintenance of a "build" branch.
  5. Upload your distribution to CPAN for you as part of dzil release
  6. Tweet about releases.

Useful Links:

Useful Plugins:

41 questions
3
votes
2 answers

How do I test modules/scripts that output/modify files?

I have a couple of modules (DZP::Catalyst and DZP::OurPkgVersion) both of their purposes involve writing out files to the disk. I'm not sure how to test them, are there any good strategies for testing files written out to disk? any place I could go…
xenoterracide
  • 16,274
  • 24
  • 118
  • 243
3
votes
1 answer

How to make "dzil test" pass command line arguments to Makefile.PL?

For one of my XS based Perl modules that depends on a C library, I use Dist::Zilla together with with the MakeMaker::Awesome plugin to create my Makefile.PL. In order to pass options to Makefile.PL (especially INC and LIBS), I used to set the…
nwellnhof
  • 32,319
  • 7
  • 89
  • 113
3
votes
1 answer

dist zilla cannot release because of untracked git changes

I'm using Dist::Zilla to release my module, however it is not working. I'm using the Dist::Zilla::Plugin::Git plugin and whenever I do dzil release, it won't let me release my module because it says that I have untracked changes. However, the…
srchulo
  • 5,143
  • 4
  • 43
  • 72
3
votes
1 answer

How to define multiple subsections for methods with Pod::Weaver?

I have some Moose classes that define several small groups of related methods. I would like to make these groups obvious in the package POD. I use Dist::Zilla and Pod::Weaver with the =method command. Is it possible to insert some =head2-like…
2
votes
1 answer

Using Dist::Zilla dist.ini how can I set alternate dependencies?

I am building a module that could work with Mojo::SQLite or Mojo::Pg indifferently. How do I handle the dependencies? I've checked Mojo::DB::Results::Role::Struct which works in the same way, and it does not list dependencies at a runtime level. How…
simone
  • 4,667
  • 4
  • 25
  • 47
2
votes
2 answers

How to have Dist::zilla specifying min Perl version in YAML?

I’d like to specify minimum required Perl version in the yaml file. While I did put perl among requirements in my dist.ini, I think I need some module to have it written to the yaml file at build time. My dist.ini is…
Andrea T.
  • 920
  • 4
  • 15
2
votes
2 answers

Writing a test for a Dist::Zilla minting module

It's about time I wrote a functionality test for Dist::Zilla::Plugin::Catalyst. But I realized that I haven't a clue on where to start. I know that I have to have a custom minting profile recognized by my test suite, and that I'm probably going to…
xenoterracide
  • 16,274
  • 24
  • 118
  • 243
2
votes
1 answer

use perlbrew with dist zilla test

I am using the Dist::Zilla module to release and test my module. I am also using Perlbrew. When I run a script using perlbrew that includes my module, the script runs fine: use strict; use My::Module; However, whenever I run dzil test, on a test…
srchulo
  • 5,143
  • 4
  • 43
  • 72
2
votes
1 answer

prevent Dist::Zilla from inserting the copyright year?

By default if Dist::Zilla finds no copyright year it will use the current year, since it doesn't seem to support multiple years or year ranges I find the current year to be most appropriate. However, whenever I run dzil new Module it automatically…
xenoterracide
  • 16,274
  • 24
  • 118
  • 243
2
votes
3 answers

Prompt user for options when building a perl module using Dist::Zilla

I have a module I'd like to release to CPAN, and I like using dzil to do the packaging and releasing. However, the module relies on an external application, and while I know where it is installed on my machine, I'd like to ask users to input where…
Robbie B
  • 63
  • 4
1
vote
0 answers

Dist::Zilla - detect missing/uninstallable prereqs

Is there a Dist::Zilla plugin which will make "dzil build" (or "dzil release") check that all prerequisites are actually met on the build system? Merely building successfully is not enough, because there can be dependencies in the generated…
jimav
  • 671
  • 6
  • 16
1
vote
1 answer

What is the purpose of the $AUTHORITY variable in a Perl CPAN distribution?

According to Dist::Zilla::Plugin::Authority : This plugin adds the authority data to your distribution. It adds the data to your modules and metadata. Normally it looks for the PAUSE author id in your Dist::Zilla configuration. What is the…
Håkon Hægland
  • 39,012
  • 21
  • 81
  • 174
1
vote
1 answer

How to list multiple ".pm" modules in dist.ini (Dist::Zilla)

I made a module - FASTX::Reader - that consisted of a single .pm file, and packaged it with Dist::Zilla. Now I added two more related modules. I did not change anything in dist.ini and this does not stop dzil to package everything and all the…
Andrea T.
  • 920
  • 4
  • 15
1
vote
1 answer

Installing additional files at install time with ExtUtils::MakeMaker/Dist::Zilla (dzil)

tl;dr I want to ship a package.json with my Perl library, run yarn install (or npm install during the installation) and install the downloaded JavaScript dependencies with the Perl modules. I have the following dist.ini: name = Foobar version =…
Guido Flohr
  • 1,871
  • 15
  • 28
1
vote
1 answer

Taking github repo public causes problems with Dist::Zilla

I have a module, built with Dist::Zilla. I have Dist::Zilla set up to automatically push changes out to my GitHub repo. Works great when the repo is private. However, as soon as I make the repo public, I start getting errors during the build…
StevieD
  • 6,925
  • 2
  • 25
  • 45