Dist::Zilla::Plugin::Pinto::Add - Ship your dist to a Pinto repository
# In your dist.ini [Pinto::Add] root = http://pinto.example.com ; optional. defaults to PINTO_REPOSITORY_ROOT author = YOU ; optional. defaults to PINTO_AUTHOR_ID stack = stack_name ; optional. defaults to repository setting recurse = 0 ; optional. defaults to repository setting pinto_exe = /path/to/pinto ; optional. defaults to searching PATH username = you ; optional. defaults to PINTO_USERNAME password = secret ; optional. will prompt if needed authenticate = 1 ; optional. defaults to 0 # Then run the release command dzil release
Before building the release, all repositories are checked for connectivity. If a repository is not responding you will be prompted to skip it or abort the entire release. If none of the repositories are responding, then the release will be aborted. Any errors encountered while shipping to the remaining repositories will also cause the rest of the release to abort.
IMPORTANT: You need to install Pinto to make this plugin work. It ships
separately so you can decide how you want to install it. Personally, I
recommend installing Pinto as a stand-alone application as described in
Pinto::Manual::Installing and then setting the
variable accordingly. But you can also just install Pinto from CPAN using the
The following configuration parameters can be set in the
section of the
dist.ini file for your distribution. Defaults for most
parameters can be set via environment variables or via the repository
root = REPOSITORY
Specifies the root of the Pinto repository you want to ship to. It can be either a path to a local repository or a URI where pintod is listening. If not specified, it defaults to the
PINTO_REPOSITORY_ROOTenvironment variable. You can ship to multiple repositories by specifying the
rootparameter multiple times. See also "USING MULTIPLE REPOSITORIES".
authenticate = 0|1
Indicates that authentication is required for communicating with the repository. If true, you will be prompted for a
passwordunless it is provided as described below. Default is false.
author = NAME
Specifies your identity as a module author. It must be two or more alphanumeric characters and it will be forced to UPPERCASE. If not specified, it defaults to either the
PINTO_AUTHOR_IDenvironment variable, or else your PAUSE ID (if you have one configured in
~/.pause), or else the
password = PASSWORD
Specifies the password to use for authentication. If not specified, it defaults to the
PINTO_PASSWORDenvironment variable, or else you will be prompted to enter a password. If your repository does require authentication, then you must also set the
authenticateparameter to 1. For security reasons, I do not recommend putting your password in the
recurse = 0|1
If true, Pinto will recursively pull all the distributions required to satisfy the prerequisites for the distribution you are adding. If false, Pinto will add the distribution only. If not specified, the default behavior is determined by the repository configuration.
stack = NAME
Specifies which stack in the repository to put the released distribution into. If not specified, it defaults to the stack that is currently marked as the default within the repository.
username = NAME
Specifies the username for server authentication. If not specified, it defaults to the
PINTO_USERNAMEenvironment variable, or else your current shell login.
pinto_exe = PATH
Specifies the full path to your
pintoexecutable. If not specified, your
PATHwill be searched.
USING MULTIPLE REPOSITORIES
You can ship your distribution to multiple repositories by specifying multiple
root parameter multiple times in your
dist.ini file. In that case,
the remaining parameters (e.g.
apply to all the repositories.
However, the recommended way to release to multiple repositories is to have
[Pinto::Add / NAME] blocks in your
dist.ini file. This allows
you to set attributes for each repository independently (at the expense of
possibly having to duplicating some information).
You can find documentation for this module with the perldoc command.
The following websites have more information about this module, and may be of help to you. As always, in addition to those websites please use your favorite search engine to discover more resources.
A modern, open-source CPAN search engine, useful to view POD in HTML format.
The CPAN Ratings is a website that allows community ratings and reviews of Perl modules.
The CPANTS is a website that analyzes the Kwalitee ( code metrics ) of a distribution.
The CPAN Testers is a network of smokers who run automated tests on uploaded CPAN distributions.
CPAN Testers Matrix
The CPAN Testers Matrix is a website that provides a visual overview of the test results for a distribution on various Perls/platforms.
CPAN Testers Dependencies
The CPAN Testers Dependencies is a website that shows a chart of the test results of all dependencies for a distribution.
Internet Relay Chat
You can get live help by using IRC ( Internet Relay Chat ). If you don't know what IRC is, please read this excellent guide: http://en.wikipedia.org/wiki/Internet_Relay_Chat. Please be courteous and patient when talking to us, as we might be busy or sleeping! You can join those networks/channels and get help:
You can connect to the server at 'irc.perl.org' and join this channel: #pinto then talk to this person for help: thaljef.
Bugs / Feature Requests
The code is open to the world, and available for you to hack on. Please feel free to browse it and play with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull from your repository :)
git clone git://github.com/thaljef/Dist-Zilla-Plugin-Pinto-Add.git
Jeffrey Ryan Thalhammer firstname.lastname@example.org
COPYRIGHT AND LICENSE
This software is copyright (c) 2015 by Jeffrey Ryan Thalhammer.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.