{"id":23008916,"url":"https://github.com/getty/p5-dist-zilla-plugin-run","last_synced_at":"2025-10-29T06:13:02.815Z","repository":{"id":1229191,"uuid":"1160128","full_name":"Getty/p5-dist-zilla-plugin-run","owner":"Getty","description":"Execute a command on release of your Dist::Zilla Distribution","archived":false,"fork":false,"pushed_at":"2024-06-02T00:55:34.000Z","size":798,"stargazers_count":9,"open_issues_count":3,"forks_count":11,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-12-07T21:50:36.187Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://metacpan.org/module/Dist::Zilla::Plugin::Run","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Getty.png","metadata":{"files":{"readme":"README.pod","changelog":"Changes","contributing":"CONTRIBUTING","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2010-12-12T03:13:48.000Z","updated_at":"2024-06-02T00:55:36.000Z","dependencies_parsed_at":"2024-06-18T15:27:22.186Z","dependency_job_id":null,"html_url":"https://github.com/Getty/p5-dist-zilla-plugin-run","commit_stats":{"total_commits":300,"total_committers":9,"mean_commits":"33.333333333333336","dds":"0.33666666666666667","last_synced_commit":"121e2b5f7e778926e0c1d7c302e3f9e438a49a0c"},"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Getty%2Fp5-dist-zilla-plugin-run","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Getty%2Fp5-dist-zilla-plugin-run/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Getty%2Fp5-dist-zilla-plugin-run/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Getty%2Fp5-dist-zilla-plugin-run/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Getty","download_url":"https://codeload.github.com/Getty/p5-dist-zilla-plugin-run/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229800427,"owners_count":18126028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-15T09:11:54.568Z","updated_at":"2025-10-29T06:13:02.718Z","avatar_url":"https://github.com/Getty.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"=pod\n\n=encoding UTF-8\n\n=head1 NAME\n\nDist::Zilla::Plugin::Run - Run external commands and code at specific phases of Dist::Zilla\n\n=head1 VERSION\n\nversion 0.050\n\n=head1 SYNOPSIS\n\n  [Run::AfterBuild]\n  run = script/do_this.pl --dir %d --version %v\n  run = script/do_that.pl\n  eval = unlink scratch.dat\n\n  [Run::BeforeBuild]\n  fatal_errors = 0\n  run = script/do_this.pl --version %v\n  run = script/do_that_crashy_thing.pl\n  eval = if ($ENV{SOMETHING}) {\n  eval =   $_[0]-\u003elog('some message')\n  eval = }\n\n  [Run::BeforeArchive]\n  run = script/myapp_before1.pl %d %v\n  run = script/myapp_before2.pl %n %v\n  run_no_trial = script/no_execution_on_trial.pl %n %v\n\n  [Run::BeforeRelease]\n  run = script/myapp_before1.pl %a\n  run = script/myapp_before2.pl %n %v\n  run_no_trial = script/no_execution_on_trial.pl %n %v\n\n  [Run::Release]\n  run = script/myapp_deploy1.pl %a\n  run = deployer.pl --dir %d --tgz %a --name %n --version %v\n  run_no_trial = script/no_execution_on_trial.pl --dir %d --tgz %a --name %n --version %v\n\n  [Run::AfterRelease]\n  run = script/myapp_after.pl --archive %a --dir %d --version %v\n  ; %p can be used as the path separator if you have contributors on a different OS\n  run = script%pmyapp_after.pl --archive %a --dir %d --version %v\n\n  [Run::AfterRelease / MyAppAfter]\n  run = script/myapp_after.pl --archive %a --dir %d --version %v\n\n  [Run::Test]\n  run = script/tester.pl --name %n --version %v some_file.ext\n  run_if_release = ./Build install\n  run_if_release = make install\n\n  [Run::AfterMint]\n  run = some command %d\n  eval = unlink scratch.dat\n  eval = print \"I just minted %n for you. Have a nice day!\\n\";\n\n=head1 DESCRIPTION\n\nRun arbitrary commands and code at various L\u003cDist::Zilla\u003e phases.\n\n=head1 PARAMETERS\n\n=head2 run\n\nRun the specific command at the specific L\u003cDist::Zilla\u003e phase given by the\nplugin. For example, C\u003c[Run::Release]\u003e runs during the release phase.\n\n=head2 run_if_trial\n\nOnly run the given command if this is a I\u003ctrial\u003e build or release.\n\n=head2 run_no_trial\n\nOnly run the given command if this isn't a I\u003ctrial\u003e build or release.\n\n=head2 run_if_release\n\nOnly run the given command if this is a release.\n\n=head2 run_no_release\n\nOnly run a given command if this isn't a release.\n\n=head2 eval\n\nTreats the input as a list of lines of Perl code; the code is evaluated at the\nspecific L\u003cDist::Zilla\u003e phase given by the plugin. The code is executed in its\nown C\u003ceval\u003e scope, within a subroutine body; C\u003c@_\u003e contains the instance of the\nplugin executing the code. (Remember that C\u003cshift\u003e in an C\u003ceval\u003e actually\noperates on C\u003c@ARGV\u003e, not C\u003c@_\u003e, so to access the plugin instance, use\nC\u003c$_[0]\u003e.)\n\n=head2 censor_commands\n\nNormally, C\u003crun*\u003e commands are included in distribution metadata when used\nwith the L\u003c[MetaConfig]|Dist::Zilla::Plugin::MetaConfig\u003e plugin. To bypass\nthis, set C\u003ccensor_commands = 1\u003e.  Additionally, this command is set to true\nautomatically when a URL with embedded password is present.\n\nDefaults to false.\n\n=head2 fatal_errors\n\nWhen true, if the C\u003crun\u003e command returns a non-zero exit status or the C\u003ceval\u003e\ncommand dies, the build will fail. Defaults to true.\n\n=head2 quiet\n\nWhen true, diagnostic messages are not printed (except in C\u003c--verbose\u003e mode).\n\nDefaults to false.\n\n=head1 EXECUTION ORDER\n\nAll commands for a given option name are executed together, in the order in\nwhich they are documented above.  Within commands of the same option name,\norder is preserved (from the order provided in F\u003cdist.ini\u003e).\n\n=head1 ENVIRONMENT\n\n=for stopwords subshell\n\nFor executed commands, L\u003cIPC::Open3/open3\u003e is used -- there is no subshell.\nConsequently environment variables may or may not be available depending on\nthe individual architecture used.  For Perl strings that are evaluated, they\nare done in the dzil process, so all current global variables and other state\nis available for use.\n\nThe current working directory is undefined, and may vary depending on the\nversion of Dist::Zilla being used. If the state of the filesystem is\nimportant, explicitly change directories first, or base your relative paths\noff of the build root (available as C\u003c%d\u003e, see below).\n\n=head1 CONVERSIONS\n\nThe following conversions/format specifiers are defined\nfor passing as arguments to the specified commands and eval strings\n(though not all values are available at all phases).\n\n=over 4\n\n=item *\n\nC\u003c%a\u003e the archive of the release (only available to all C\u003c*Release\u003e phases), as documented to be passed to BeforeRelease, Release, AfterRelease plugins\n\n=item *\n\nC\u003c%o\u003e the directory in which the distribution source originated\n\n=item *\n\nC\u003c%d\u003e the directory in which the distribution was built (or minted) (not available in C\u003cBeforeBuild\u003e)\n\n=item *\n\nC\u003c%n\u003e the distribution name\n\n=item *\n\nC\u003c%p\u003e path separator ('/' on Unix, '\\\\' on Win32... useful for cross-platform F\u003cdist.ini\u003e files)\n\n=item *\n\nC\u003c%v\u003e the distribution version, if available (depending on the phase, the C\u003cVersionProvider\u003e plugin may not be able to return a version)\n\n=item *\n\nC\u003c%t\u003e C\u003c-TRIAL\u003e if the release is a trial release, otherwise the empty string\n\n=item *\n\nC\u003c%x\u003e full path to the current perl interpreter (like C\u003c$^X\u003e but from L\u003cConfig\u003e)\n\n=back\n\nAdditionally C\u003c%s\u003e is retained for backward compatibility (for those plugins that existed\nwhen it was documented).  Each occurrence is replaced by a different value\n(like the regular C\u003csprintf\u003e function).\nIndividual plugins define their own values for the positional replacement of C\u003c%s\u003e.\n\nB\u003cNOTE\u003e: when using filenames (e.g. C\u003c%d\u003e, C\u003c%n\u003e and C\u003c%x\u003e), be mindful that\nthese paths could contain special characters or whitespace, so if they are to\nbe used in a shell command, take care to use quotes or escapes!\n\n=head1 DANGER! SECURITY RISK!\n\nThe very nature of these plugins is to execute code. Be mindful that your code\nmay run on someone else's machine and don't be a jerk!\n\n=head1 SUPPORT\n\nBugs may be submitted through L\u003cthe RT bug tracker|https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-Run\u003e\n(or L\u003cbug-Dist-Zilla-Plugin-Run@rt.cpan.org|mailto:bug-Dist-Zilla-Plugin-Run@rt.cpan.org\u003e).\n\nThere is also a mailing list available for users of this distribution, at\nL\u003chttp://dzil.org/#mailing-list\u003e.\n\nThere is also an irc channel available for users of this distribution, at\nL\u003cC\u003c#distzilla\u003e on C\u003circ.perl.org\u003e|irc://irc.perl.org/#distzilla\u003e.\n\n=head1 AUTHOR\n\nTorsten Raudssus \u003ctorsten@raudss.us\u003e L\u003chttps://raudss.us/\u003e\n\n=head1 CONTRIBUTORS\n\n=for stopwords Karen Etheridge Randy Stauner Nickolay Platonov Olivier Mengué Al Newkirk David Golden Graham Ollis Tatsuhiko Miyagawa Thomas Sibley\n\n=over 4\n\n=item *\n\nKaren Etheridge \u003cether@cpan.org\u003e\n\n=item *\n\nRandy Stauner \u003crwstauner@cpan.org\u003e\n\n=item *\n\nNickolay Platonov \u003cnplatonov@cpan.org\u003e\n\n=item *\n\nOlivier Mengué \u003cdolmen@cpan.org\u003e\n\n=item *\n\nAl Newkirk \u003cgithub@alnewkirk.com\u003e\n\n=item *\n\nDavid Golden \u003cdagolden@cpan.org\u003e\n\n=item *\n\nGraham Ollis \u003cplicease@cpan.org\u003e\n\n=item *\n\nTatsuhiko Miyagawa \u003cmiyagawa@cpan.org\u003e\n\n=item *\n\nThomas Sibley \u003ctsibley@cpan.org\u003e\n\n=back\n\n=head1 COPYRIGHT AND LICENCE\n\nThis software is copyright (c) 2010 by L\u003cRaudssus Social Software|https://raudss.us/\u003e.\n\nThis is free software; you can redistribute it and/or modify it under\nthe same terms as the Perl 5 programming language system itself.\n\n=cut\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetty%2Fp5-dist-zilla-plugin-run","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgetty%2Fp5-dist-zilla-plugin-run","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgetty%2Fp5-dist-zilla-plugin-run/lists"}