App-Changelord/lib/App/Changelord.pm

48 lines
1.1 KiB
Perl
Raw Normal View History

2022-07-13 16:09:07 +00:00
package App::Changelord;
2022-07-25 15:21:03 +00:00
# SYNOPSIS: cli-based changelog manager
2022-07-13 16:09:07 +00:00
2022-07-16 17:33:03 +00:00
# version next latest
2022-07-13 16:09:07 +00:00
use 5.36.0;
use Moo;
2022-07-25 15:21:03 +00:00
use CLI::Osprey
desc => 'changelog manager';
2022-07-13 16:09:07 +00:00
use YAML;
2022-07-13 19:00:23 +00:00
use List::AllUtils qw/ pairmap partition_by /;
2022-07-16 17:33:03 +00:00
use App::Changelord::Role::ChangeTypes;
sub run($self) {
App::Changelord::Command::Print->new(
parent_command => $self,
)->run;
}
2022-07-25 15:21:03 +00:00
subcommand $_ => 'App::Changelord::Command::' . ucfirst $_ =~ s/-(.)/uc $1/er
for qw/ schema validate version bump init add git-gather print /;
2022-07-13 16:09:07 +00:00
2022-07-25 15:21:03 +00:00
1;
2022-07-19 17:34:13 +00:00
2022-07-25 15:21:03 +00:00
__END__
2022-07-13 16:09:07 +00:00
2022-07-25 15:21:03 +00:00
=head1 DESCRIPTION
2022-07-13 16:09:07 +00:00
2022-07-25 15:21:03 +00:00
C<App::Changelord> offers a collection of cli commands to
interact with a YAML-based CHANGELOG file format, from which
a Markdown CHANGELOG fit for general comsumption can be generated.
See the original blog entry in the C<SEE ALSO> section for the full
motivation.
For a list of the commands, C<changelord --help>, then to
get information on the individual commands C<changelord *subcommand* --man>.
=head1 SEE ALSO
L<Changelord, registrar of deeds extraordinaire|https://techblog.babyl.ca/entry/changelord> - the introducing blog entry.
2022-07-13 16:09:07 +00:00
2022-07-13 17:18:13 +00:00