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
10
votes
2 answers

What are the strengths/weaknesses of ShipIt vs Dist::Zilla?

I started using Dist::Zilla several months ago. However, at YAPC::NA someone mentioned that they use ShipIt instead. Then today I noticed a .shipit file in miyagawa's cpanminus directory on github, so I decided to look into it some more... My…
Christopher Bottoms
  • 11,218
  • 8
  • 50
  • 99
8
votes
2 answers

How to make a Dist::Zilla based Perl module (or app) install files into /etc/?

I maintain multiple Perl written (unix-ish) applications whose current installation process consists of a manually written Makefile and installs configuration files into /etc/. I'd really like to switch their development to use Dist::Zilla, but so…
Axel Beckert
  • 6,814
  • 1
  • 22
  • 23
8
votes
2 answers

How can I build a Perl distribution with DIst::Zilla and use Carton for dependencies?

I have a perl distribution I have built with Dist::Zilla, and so I do not have to contaminate my installed Perl's lib with the dependencies, I have used Carton to manage them. Things work great in development, but when I run dzil test or dzil…
cubabit
  • 2,527
  • 3
  • 21
  • 34
7
votes
2 answers

Where can I find a concise guide to converting an existing CPAN module to use Dist::Zilla?

I have read, at various times, both the documentation and a number of blog posts on Dist::Zilla. I have never felt confidence in my understanding of it. In response to another question, @Ether raised the possibility of converting Crypt-SSLeay to use…
Sinan Ünür
  • 116,958
  • 15
  • 196
  • 339
7
votes
2 answers

Perl module - dist.ini and platform specific prereqs

How can I add conditional prereqs to dist.ini for each platform (Windows/Non windows) I want the module to support? For example in perl code I could do: if ( $^0 eq 'MSWin32' ){ require Win32::Foo; }else{ require Bar::Baz; } How do I cater…
Dr.Avalanche
  • 1,944
  • 2
  • 28
  • 37
7
votes
2 answers

How can I concisely document methods in Perl code?

I favor a kind-of literal programming style with POD comments next to the code they document. Unfortunately this bloats the code, which is not very Perlish ;-) The best way I could find by now is to use Dist::Zilla with Pod::Weaver like…
Jakob
  • 3,570
  • 3
  • 36
  • 49
6
votes
1 answer

Getting author tests to be created and run for dzil test

I am trying to use several Dist::Zilla plugins to generate and run author tests. The only problem is that they are generated by dzil build and not run with dzil test. As an example, here are some lines in my dist.ini: [Test::Compile] ; Create…
Nate Glenn
  • 6,455
  • 8
  • 52
  • 95
6
votes
1 answer

How do I specify a minimum perl version for my distribution in Dist::Zilla dist.ini?

I'm working on my Net::Prober distribution, using dzil. From the next version I'd like to enforce a minimum requirement of perl 5.10+ (was 5.006), because I'm using named captures :-) Now I have put use 5.010; at the top of my main module, and…
Cosimo
  • 2,846
  • 1
  • 24
  • 26
5
votes
1 answer

Exclude a directory from Perl module release using Dist::Zilla

I have a subdirectory in my Perl Module root directory that I don't want to release. I tried using "prune_directory" or "exclude_file" properties of https://metacpan.org/pod/Dist::Zilla::Plugin::GatherDir I tried to specify the [GatherDir] section,…
Andrea T.
  • 920
  • 4
  • 15
5
votes
2 answers

Declaring dependencies on specific versions of Perl modules using Dist::Zilla

I have been using Dist::Zilla for a project at work, and I've declared all my dependencies in the [Prereqs / Requires] section. That's fine so far. Now I found that the latest version of one of my dependencies breaks backwards compatibility, so I…
Fabrice Gabolde
  • 215
  • 2
  • 8
5
votes
1 answer

Are optional dependencies with Dist::Zilla possible?

I want to make some of my dependencies detected by Dist::Zilla optional. How could I go about doing this?
xenoterracide
  • 16,274
  • 24
  • 118
  • 243
4
votes
3 answers

Testing an XS module that uses Dist::Zilla

I'm working on a Perl module that has a lot of XS code and also uses Dist::Zilla to manage packaging. What's the best way to test things efficiently? I know about dzil test, but that's pretty slow because it does a full build/compile/test cycle…
Ken Williams
  • 22,756
  • 10
  • 85
  • 147
4
votes
1 answer

Can I have dist-zilla fill in arbitrary fields in a template file?

Is there any way to have a user defined parameter in a file and then have the dist.ini set the value for the parameter. For example, a file might contain {{$THE_ANSWER}} and the dist.ini file would provide a value like THE_ANSWER = 42? I'm pretty…
Stuart R. Jefferys
  • 943
  • 1
  • 13
  • 23
3
votes
2 answers

Using Dist::Zilla dist.ini how can I have files that I only use for testing?

In a Dist::Zilla-based distribution I would like to have some files that are only used for testing, but do not get installed. These are mockup libs that aren't needed for runtime. How do I do that?
simone
  • 4,667
  • 4
  • 25
  • 47
3
votes
1 answer

"dzil test" isn't copying my perltidyrc file

For a Perl module I'm writing, I use Test::PerlTidy. My tests pass just fine. However, I'm also using dzil. The t/perltidy.t tests pass when I run them, but dzil test doesn't appear to be copying the perltidyrc file into the ./build directory, so…
Ovid
  • 11,580
  • 9
  • 46
  • 76
1
2 3