Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Execute a command on release of your Dist::Zilla Distribution
Perl Perl6
Failed to load latest commit information.
lib/Dist/Zilla/Plugin increment $VERSION after release
t
test_data make tests easier to understand by bringing all their support content…
.gitignore yep, had to do it... converted to my pluginbundle
.mailmap canonicalize to correct Getty address
.travis.yml make travis tests pass -- skip release tests, which only need to pass…
CONTRIBUTING Dist-Zilla-Plugin-Run-0.035
Changes
LICENSE Dist-Zilla-Plugin-Run-0.022
README.pod Dist-Zilla-Plugin-Run-0.035
dist.ini [Test::CleanNamespaces] is now provided by my plugin bundle
weaver.ini yep, had to do it... converted to my pluginbundle

README.pod

NAME

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

VERSION

version 0.035

SYNOPSIS

  [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";

DESCRIPTION

Run arbitrary commands and code at various Dist::Zilla phases.

PARAMETERS

run

Run the specific command at the specific Dist::Zilla phase given by the plugin. For example, [Run::Release] runs during the release phase.

run_no_trial

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

run_if_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.

eval (EXPERIMENTAL)

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].)

censor_commands

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.

Defaults to false.

fatal_errors

When true, if the run command returns a non-zero exit status or the eval command dies, the build will fail. Defaults to true.

CONVERSIONS

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)
  • %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
  • %t -TRIAL if the release is a trial release, otherwise the empty string
  • %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.

CONTRIBUTORS

  • Karen Etheridge <ether@cpan.org>
  • Randy Stauner <rwstauner@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>
  • David Golden <dagolden@cpan.org>
Something went wrong with that request. Please try again.