Dist::Zilla::Plugin::Run - Run external commands and code at specific phases of Dist::Zilla
version 0.034
[Run::AfterBuild] run = script/do_this.pl --dir %s --version %s run = script/do_that.pl eval = unlink scratch.dat [Run::BeforeBuild] fatal_errors = 0 run = script/do_this.pl --version %s run = script/do_that_crashy_thing.pl eval = if ($ENV{SOMETHING}) { eval = $_[0]->log('some message') eval = } [Run::BeforeRelease] run = script/myapp_before1.pl %s run = script/myapp_before2.pl %n %v run_no_trial = script/no_execution_on_trial.pl %n %v [Run::Release] run = script/myapp_deploy1.pl %s run = deployer.pl --dir %d --tgz %a --name %n --version %v run_no_trial = script/no_execution_on_trial.pl --dir %d --tgz %a --name %n --version %v [Run::AfterRelease] run = script/myapp_after.pl --archive %s --version %s ; %p can be used as the path separator if you have contributors on a different OS run = script%pmyapp_after.pl --archive %s --version %s [Run::AfterRelease / MyAppAfter] run = script/myapp_after.pl --archive %s --version %s [Run::Test] run = script/tester.pl --name %n --version %v some_file.ext run_if_release = ./Build install run_if_release = make install [Run::AfterMint] run = some command %d eval = unlink scratch.dat eval = print "I just minted %n for you. Have a nice day!\n";
Run arbitrary commands and code at various Dist::Zilla phases.
Run the specific command at the specific Dist::Zilla phase given by the plugin. For example, [Run::Release] runs during the release phase.
[Run::Release]
Only run the given command if this isn't a trial build or release.
Only run the given command if this is a trial build or release.
Only run the given command if this is a release.
Only run a given command if this isn't a release.
Treats the input as a list of lines of Perl code; the code is evaluated at the specific Dist::Zilla phase given by the plugin. The code is executed in its own eval scope, within a subroutine body; @_ contains the instance of the plugin executing the code. (Remember that shift in an eval actually operates on @ARGV, not @_, so to access the plugin instance, use $_[0].)
eval
@_
shift
@ARGV
$_[0]
Normally, run* commands are included in distribution metadata when used with the [MetaConfig] plugin. To bypass this, set censor_commands = 1. Additionally, this command is set to true automatically when a URL with embedded password is present.
run*
censor_commands = 1
Defaults to false.
When true, if the run command returns a non-zero exit status or the eval command dies, the build will fail. Defaults to true.
run
The following conversions/format specifiers are defined for passing as arguments to the specified commands and eval strings (though not all values are available at all phases).
%a the archive of the release (available to all *Release phases)
%a
*Release
%d the directory in which the dist was built (or minted) (not in BeforeBuild)
%d
BeforeBuild
%n the dist name
%n
%p path separator ('/' on Unix, '\\' on Win32... useful for cross-platform dist.ini files)
%p
%v the dist version
%v
%t -TRIAL if the release is a trial release, otherwise the empty string
%t
-TRIAL
%x full path to the current perl interpreter (like $^X but from Config)
%x
Additionally %s is retained for backward compatibility. Each occurrence is replaced by a different value (like the regular sprintf function). Individual plugins define their own values for the positional replacement of %s.
%s
sprintf
Torsten Raudssus <torsten@raudss.us> https://raudss.us/
This software is copyright (c) 2010 by Raudssus Social Software.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Karen Etheridge <ether@cpan.org>
Randy Stauner <rwstauner@cpan.org>
Torsten Raudssus <getty@cpan.org>
Nickolay Platonov <nplatonov@cpan.org>
Olivier Mengué <dolmen@cpan.org>
Al Newkirk <github@alnewkirk.com>
Tatsuhiko Miyagawa <miyagawa@cpan.org>
Thomas Sibley <tsibley@cpan.org>
To install Dist::Zilla::Plugin::Run, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Dist::Zilla::Plugin::Run
CPAN shell
perl -MCPAN -e shell install Dist::Zilla::Plugin::Run
For more information on module installation, please visit the detailed CPAN module installation guide.