distmgr - Create, integrate, release a Perl distribution to the CPAN, and prepare for the next development cycle.
Performs a full suite of automated creation, addition, pre-release, release and post release tasks for Perl distributions. It integrates with VCS, automates the configuration of Continuous Integration, manages version numbers and Changes files, amongst a slew of other tasks.
This distmgr application uses the Dist::Mgr library as its backend.
See the README for full details beyond this document.
distmgr <command> [OPTIONS]
Notice: Be sure to read the Command Process Flows documentation in the README so you understand what is happening, why its happening, and when it happens.
Creates a full blown, brand new distribution with everything included.
Options:
-m | --module Mandatory: The module name (eg. Test::Module) -a | --author Mandatory: The name of the author (eg. "Steve Bertrand") -e | --email Mandatory: The email address of the author -u | --user Optional: The Github username (eg. stevieb9) -r | --repo Optional: The Github repository name (eg. test-module) -w | --wait Optional: Wait for CI test results (--nowait to disable) -V | --verbose Optional: Display verbose output for each process
Note: For Git integration, create an empty repository on Github, then supply the short name of the repository with --repo and your Github username with --user and we'll clone the new repo and use it as the top-level distribution directory.
--repo
--user
Note: We will skip adding repository information, skip adding CI badge info, and skip adding repository and bugtracker information to Makefile.PL file if --user or --repo are not present in the parameter list (see "install").
Makefile.PL
Creates a bare-bones distribution with just the basics. There will be no git integration, no CI integration etc. Pretty well nearly a stock Module::Starter distribution with a few small tweaks.
-m | --module Mandatory: The module name (eg. Test::Module) -a | --author Mandatory: The name of the author (eg. "Steve Bertrand") -e | --email Mandatory: The email address of the author -V | --verbose Optional: (Flag) Display verbose output for each process
Installs/adds various files or file sections into an existing distribution that you author.
All of the below options are flags, and don't take any arguments.
-g | --gitignore Install .gitignore file -c | --ci Install Github Actions CI configuration file -B | --badges Insert CI/Coverage badges links into the module's POD -b | --bugtracker Insert bugtracker information into Makefile.PL -R | --repository Insert repository information into Makefile.PL -A | --all Insert/Install all above options
Note: For badges, bugtracker and repository, the --user (Github username) and --repo (Github repository) arguments must be supplied.
Prepares for, tests, runs Continuous Integration testing, commits, tags, pushes and releases to the CPAN your distribution.
-i | --cpanid Optional: Your PAUSE userid -p | --cpanpw Optional: Your PAUSE userid's password -d | --dryrun Optional: (Flag) Don't actually upload to the CPAN
Note: No Git operations will be performed without --repo and --user. If the --cpanid or --cpanpw aren't available or the CPAN_USERNAME or CPAN_PASSWORD environment variables aren't set, we won't upload to the CPAN.
--cpanid
--cpanpw
CPAN_USERNAME
CPAN_PASSWORD
After "release", this command will bump version numbers in all of your modules, and prepare the Changes file for your next development cycle.
-V | --verbose Optional: Display verbose output for each process
config - Creates an initial default configuration file.
This file will be named dist-mgr.json and will be placed in your HOME directory on Unix systems, and in your USERPROFILE directory on Windows.
dist-mgr.json
HOME
USERPROFILE
=head1 AUTHOR Steve Bertrand, C<< <steveb at cpan.org> >> =head1 LICENSE AND COPYRIGHT Copyright 2020-2021 Steve Bertrand. This program is free software; you can redistribute it and/or modify it under the terms of the the Artistic License (2.0). You may obtain a copy of the full license at: L<http://www.perlfoundation.org/artistic_license_2_0>
To install Dist::Mgr, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Dist::Mgr
CPAN shell
perl -MCPAN -e shell install Dist::Mgr
For more information on module installation, please visit the detailed CPAN module installation guide.