App::D...Release(3pm)
π App::DocKnot::Release π
okay bestie, this one's a Perl manual page (from the User Contributed Perl Documentation collection, no less) for App::D...Release(3pm), and it is genuinely the little release-day fairy of the DocKnot world. let's get into it β¨
π NAME π
App::DocKnot::Release β Release a distribution tarball. that's the whole vibe. ship it. π
πΈ SYNOPSIS πΈ
the way you summon her:
use App::DocKnot::Release;
my $docknot = App::DocKnot::Release->new();
$docknot->release();
like. that's IT. three lines and your tarball is living its best life in a release area. iconic. π
π¦ REQUIREMENTS π¦
- Perl 5.24 or later, no exceptions, she's not running on your grandma's perl sorry
- plus these modules:
File::BaseDir,File::ShareDir,Git::Repository,Path::Tiny, andYAML::XS
and literally all of them are available from CPAN, so if you're missing one that's a you problem that is very solvable. ποΈ
π DESCRIPTION π
so this component of DocKnot does three (3) very important jobs, and she does them all in one go:
- releases a distribution tarball β normally the one created by
docknot distor App::DocKnot::Dist - maintains a software distribution directory β keeping it cute and tidy
- updates a version and release date database β because someone has to remember when things happened
basically she takes your fresh lil tarball and gives it a whole grown-up release moment. main character behavior fr fr. π«Ά
π« CLASS METHODS π«
new(ARGS)
creates a brand new App::DocKnot::Release object, and you should use this one for literally every subsequent action, okay? don't be out here making new ones for no reason.
ARGS should be a hash reference and it can have one or more of these keys:
archivedirβ the release area where the distribution tarball is gonna live. the current distribution goes into a subdirectory named after thedistribution.sectionkey in the package configuration. older versions get moved to theARCHIVEsubdirectory ofarchivedir. this one is Required if it's not set in the global configuration file. ποΈdistdirβ the directory you grab the new distribution tarball from, normally the one generated bydocknot dist. the latest version in this directory is the one that gets used, so don't leave randoms in there bestie. Required if it's not set in the global configuration file. π¦metadataβ the path to the metadata for the package you're operating on. Default:docs/docknot.yamlrelative to the current directory. π·οΈ
β¨ INSTANCE METHODS β¨
release()
the moment we've all been waiting for. she:
- copies the distribution tarball β in multiple formats, with PGP signatures, bc we do security here β into a release area
- updates the symlink pointing to the latest version
- moves any old release to an archive area
and if versions is set in the global configuration file, she also updates the .versions file found at that path with the new release version and release date. for more info about .versions files, go peek at App::DocKnot::Spin::Versions. π
okay this method is genuinely broken grammatically in the original (mixing tenses like it's a group chat at 2am) but the behavior is the behavior β all of the above happens, every time. π
π AUTHOR π
Russ Allbery <rra@cpan.org>
π₯ COPYRIGHT AND LICENSE π₯
Copyright 2022, 2024 Russ Allbery <rra@cpan.org>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
(tl;dr it's the MIT license, go wild, just keep the copyright notice and don't sue anyone, periodt π )
π SEE ALSO π
docknot(1)App::DocKnot::ConfigApp::DocKnot::DistApp::DocKnot::Spin::Versions
this module is part of the App-DocKnot distribution. the current version of DocKnot is available from CPAN, or directly from its web site at <https://www.eyrie.org/~eagle/software/docknot/>. go get her π¦
and that's the whole page, bestie!! this lil manual was served up by perl v5.40.1, dated 2026-01-16, under the App::D...Release(3pm) name. mwah, go ship something πβ¨π
π¦ where this page comes from
- ubuntu resolute: docknot 8.0.1-1build1 Β· MIT
- ubuntu stonking: docknot 8.0.1-1build1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms