NAME

Dist::Zilla::Plugin::Run - Run external commands at specific phases of Dist::Zilla

VERSION

version 0.021

SYNOPSIS

[Run::AfterBuild]
run = script/do_this.pl --dir %s --version %s
run = script/do_that.pl

[Run::BeforeBuild]
run = script/do_this.pl --version %s
run = script/do_that.pl

[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

DESCRIPTION

Run arbitrary commands at various Dist::Zilla phases.

PARAMETERS

run

Run the specific command at the specific Dist::Zilla phase given by the plugin, like [Run::Release] runs on release phase.

run_no_trial

Only run the given command if this isn't a trial build or release.

run_trial

Only run the given command if this is a trial build or release.

run_if_release

Only run the given command if this is a release.

run_no_release

Only run a given command if this isn't a release.

CONVERSIONS

The following conversions/format specifiers are defined for passing as arguments to the specified commands (though not all values are available at all phases).

  • %a the archive of the release (available to all *Release phases)

  • %d the directory in which the dist was built (or minted) (not in BeforeBuild)

  • %n the dist name

  • %p path separator ('/' on Unix, '\\' on Win32... useful for cross-platform dist.ini files)

  • %v the dist version

  • %x full path to the current perl interpreter (like $^X but from Config)

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.

AUTHOR

Torsten Raudssus <torsten@raudss.us> https://raudss.us/

COPYRIGHT AND LICENSE

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.