NAME
distmgr - Create, integrate, release a Perl distribution to the CPAN, and prepare for the next development cycle.
DESCRIPTION
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.
USAGE
distmgr <command> [OPTIONS]COMMANDS
Command Process Flows
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.
create
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)
-V | --verbose   Optional:  Display verbose output for each processNote: 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.
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").
dist
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.
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
-V | --verbose  Optional:  (Flag) Display verbose output for each processinstall
Installs/adds various files or file sections into an existing distribution that you author.
Options:
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
-V | --verbose  Optional:  (Flag) Display verbose output for each processNote: For badges, bugtracker and repository, the --user (Github username) and --repo (Github repository) arguments must be supplied.
release
Prepares for, tests, runs Continuous Integration testing, commits, tags, pushes and releases to the CPAN your distribution.
Options:
-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
-w | --wait     Optional:  (Flag) Wait for confirmation of CI before uploading to CPAN (--nowait to disable)
-V | --verbose  Optional:  (Flag) Display verbose output for each processNote: 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.
cycle
After "release", this command will bump version numbers in all of your modules, and prepare the Changes file for your next development cycle.
Options:
-V | --verbose  Optional:  Display verbose output for each processconfig
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.
=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>