NAME
Dist::Zilla::Plugin::SignReleaseNotes - Create and signs a 'Release' notes file
VERSION
version 0.0008
SYNOPSIS
In your dist.ini:
[SignReleaseNotes]
sign = always ; default is always
sig_alg = sha512 ; default is sha256
DESCRIPTION
This plugin will sign a 'Release' file that includes:
1. Git commits since the last tag
2. the sha checksum of the file that is being distributed to CPAN
the file is then signed using Module::Signature.
The resulting file can be used as the Release information for GitHub or similar.
This plugin should appear after any other AfterBuild plugin in your dist.ini
file
SAMPLE OUTPUT
-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160
Dist::Zilla::Plugin::SignReleaseNotes
Release 0.0004
Change Log
- 5c4df12 v0.0004
- 9000d39 Increment version number
- 1835a25 rev-list --tags matching commits that it should not
SHA256 hash of CPAN release
0b05776713165ad90d1385669e56dcd9f0abed8701f4e4652f5aa270687a3435 *Dist-Zilla-Plugin-SignReleaseNotes-0.0004.tar.gz
-----BEGIN PGP SIGNATURE-----
iQIzBAEBAwAdFiEEMguXHBCUSzAt6mNu1fh7LgYGpfkFAmH91iYACgkQ1fh7LgYG
pfmwrg//TXpyu8UeAaotLR0RFuLdmt9IrFmpflJ0SqwyY8MPBJOdb5BiwzSLDthi
1BNUtj4P+UsVlWrmXVufUYMEsGPyim6fD656NrUNds+PQQok3bTfR9qf341CY9Cq
MoR0an/u5APRaB4SurHs/lA3Nf/TRfAjkwBX4hzaRG1Iw9IcSHi5/gRBMA1E/+zT
/1GxkICjo0CrSe7REUiGmVf96TYGi/3D18pP/09Gnc6f1DMuKihiLy8BY57j9MCW
g6BWL8aXDpNvJFwwZv2h6OPLKF04xfjnVYzaAloCOaf2vHxb2ocv2KbOas8oWglf
BmameSAIHpxRTdV01M40V8eA6IHEDT4pUXGydggb9LQ/2s3X2n0AJN4HDwxtclvI
cF85Kfp2e5lqYJwHKN+tmQm3NUEJkvj+yM5tKeSoJWmba87fe7DKfhKHUSL7rqT5
PI2aKbs0auR2b5cXegUnNqKAjnF+I4pY/yWkmhUNPqQ+ctE/dy85opI6sQ1nIQ4v
Q3oIFhs4y+XkQorsorJJn3MtdrxTow/CoOjQ/Mydd11xpQSlXkTAO3TqxEiXIz0l
i4RybXbqlFB9MAbs9dbC96Lq5hxroxeIVxo99r9Q327it1gQWPMCnfUV9LKmzusZ
2j18EynyALPs/onwA4VOIi1kC3As8d+1cBfhaFaZf9vgryXQx84=
=kzjP
-----END PGP SIGNATURE-----
ATTRIBUTES
- sign
-
A string value. If
always
then a signature will be created after an archive is created. Ifalways
then the 'Release' file will be signed after the release. Default isalways
This attribute can be overridden by an environment variable
DZSIGN
- hash_alg
-
A string value for the Digest::SHA supported hash algorithm to use for the hash of the cpan upload file.
METHODS
- after_release
-
The main processing function includes getting the git information. Should likely be split up.
- create_release_file
-
Create's the plaintext Release file contents.
- do_sign
-
Signs the 'Release' file to Module::Signature. Unfortunately we cannot use the Module::Signature::sign function as it gets its plaintext from the list of files that are normally used.
- sub get_git_checksums_and_titles
-
Gets the short version of the checksums and the titles of each git commit since the most recent tag that was found in the repo.
- get_checksum
-
Get's the checksum of the file being released. Expects the filename and returns the checksum with the requested Digest::SHA algorithim.
- get_name
-
Get's the name of the Distribution being released. This takes it from the filename. There is likely a better way to obtain it.
- get_version
-
Get's the version of the Distribution being released. This takes it from the $self->{zilla}->version. There is likely a better way to obtain it.
AUTHOR
Timothy Legge <timlegge@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2021 by Timothy Legge.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
AUTHOR
Timothy Legge
COPYRIGHT AND LICENSE
This software is copyright (c) 2022 by Timothy Legge.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.