• Stars
    star
    36
  • Rank 735,472 (Top 15 %)
  • Language
    Perl
  • Created over 15 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Specifications for CPAN distribution META files

HOW TO CONTRIBUTE

Thank you for considering contributing to this distribution. This file contains instructions that will help you work with the source code.

The distribution is managed with Dist::Zilla. This means than many of the usual files you might expect are not in the repository, but are generated at release time, as is much of the documentation. Some generated files are kept in the repository as a convenience (e.g. Makefile.PL or cpanfile).

Generally, you do not need Dist::Zilla to contribute patches. You do need Dist::Zilla to create a tarball. See below for guidance.

Getting dependencies

If you have App::cpanminus 1.6 or later installed, you can use cpanm to satisfy dependencies like this:

$ cpanm --installdeps .

Otherwise, look for either a Makefile.PL or cpanfile file for a list of dependencies to satisfy.

Running tests

You can run tests directly using the prove tool:

$ prove -l
$ prove -lv t/some_test_file.t

For most of my distributions, prove is entirely sufficient for you to test any patches you have. I use prove for 99% of my testing during development.

Code style and tidying

Please try to match any existing coding style. If there is a .perltidyrc file, please install Perl::Tidy and use perltidy before submitting patches.

If there is a tidyall.ini file, you can also install Code::TidyAll and run tidyall on a file or tidyall -a to tidy all files.

Patching documentation

Much of the documentation Pod is generated at release time. Some is generated boilerplate; other documentation is built from pseudo-POD directives in the source like C<=method> or C<=func>.

If you would like to submit a documentation edit, please limit yourself to the documentation you see.

If you see typos or documentation issues in the generated docs, please email or open a bug ticket instead of patching.

Installing and using Dist::Zilla

Dist::Zilla is a very powerful authoring tool, optimized for maintaining a large number of distributions with a high degree of automation, but it has a large dependency chain, a bit of a learning curve and requires a number of author-specific plugins.

To install it from CPAN, I recommend one of the following approaches for the quickest installation:

# using CPAN.pm, but bypassing non-functional pod tests
$ cpan TAP::Harness::Restricted
$ PERL_MM_USE_DEFAULT=1 HARNESS_CLASS=TAP::Harness::Restricted cpan Dist::Zilla

# using cpanm, bypassing *all* tests
$ cpanm -n Dist::Zilla

In either case, it's probably going to take about 10 minutes. Go for a walk, go get a cup of your favorite beverage, take a bathroom break, or whatever. When you get back, Dist::Zilla should be ready for you.

Then you need to install any plugins specific to this distribution:

$ cpan `dzil authordeps`
$ dzil authordeps | cpanm

Once installed, here are some dzil commands you might try:

$ dzil build
$ dzil test
$ dzil xtest

You can learn more about Dist::Zilla at http://dzil.org/

More Repositories

1

ExtUtils-MakeMaker

Perl module to make Makefiles and build modules (what backs Makefile.PL)
Perl
64
star
2

toolchain-site

Perl toolchain docs, specs, guidelines, etc.
33
star
3

Module-Build

Perl module to configure and build modules (what backs most Build.PLs)
Perl
32
star
4

Test-Harness

Run Perl standard test scripts with statistics
Perl
29
star
5

local-lib

local::lib - create and use a local lib/ for perl modules with PERL5LIB
Perl
24
star
6

ExtUtils-CBuilder

Compile and link C code for Perl modules
Perl
20
star
7

Software-License

perl representation of common software licenses
Perl
18
star
8

YAML-Tiny

Read/Write YAML files with as little code as possible
Perl
15
star
9

cpan-static

Static install specification for CPAN distributions
Perl
13
star
10

cpan-api-buildpl

Documentation of the API for using Build.PL
Perl
11
star
11

module-build-tiny

A tiny replacement for Module::Build
Perl
10
star
12

File-chdir

(Perl) a more sensible way to change directories
Perl
10
star
13

Module-Install

Standalone, extensible Perl module installer
Perl
9
star
14

CPAN-DistnameInfo

Extract information from a CPAN distribution name
Perl
9
star
15

Sub-Uplevel

(Perl) apparently run a function in a higher stack frame
Perl
8
star
16

Module-Metadata

Gather package and POD information from perl module files
Perl
8
star
17

CPAN-Common-Index

Common library for searching CPAN indexes
Perl
8
star
18

File-Fetch

Perl
8
star
19

File-Temp

Temporary file handling in Perl
Perl
7
star
20

Perl-OSType

Map Perl operating system names to generic types or families
Perl
6
star
21

extutils-helpers

Various portability utilities for module builders
Perl
6
star
22

ExtUtils-Install

Install files from here to there
Perl
5
star
23

CPAN-Meta-Requirements

a set of version requirements for a CPAN dist
Perl
5
star
24

ExtUtils-Manifest

Utilities to write and check a MANIFEST file
Perl
4
star
25

Parse-CPAN-Meta

Parse META.yml and META.json CPAN metadata files
4
star
26

json-cpan-meta

put JSON in your CPAN dist's META.yml file
Perl
3
star
27

CPAN-Meta-YAML

Read and write a subset of YAML for CPAN Meta files
Perl
3
star
28

ExtUtils-Command

Utilities to replace common UNIX commands in Makefiles etc
Perl
2
star
29

HTTP-Tiny

Perl
2
star
30

CPAN-Signing

1
star
31

File-ShareDir-Install

Install shared files
Perl
1
star
32

extutils-pl2bat

Batch file creation to run perl scripts on Windows
Perl
1
star
33

extutils-installpaths

Build.PL spec compatible install path handling
Perl
1
star
34

extutils-config

A wrapper for perl's configuration
Perl
1
star