Dist::Zilla::App::Command::run - run stuff in a dir where your dist is built


Dist-Zilla documentation Contained in the Dist-Zilla distribution.

Index


Code Index:

NAME

Top

Dist::Zilla::App::Command::run - run stuff in a dir where your dist is built

VERSION

Top

version 4.200008

SYNOPSIS

Top

  $ dzil run ./bin/myscript
  $ dzil run prove -bv t/mytest.t
  $ dzil run bash

DESCRIPTION

Top

This command will build your dist with Dist::Zilla, then build the distribution and then run a command in the build directory. It's something like doing this:

  dzil build
  rsync -avp My-Project-version/ .build/
  cd .build
  perl Makefile.PL            # or perl Build.PL
  make                        # or ./Build
  export PERL5LIB=$PWD/blib/lib:$PWD/blib/arch
  <your command as defined by rest of params>

Except for the fact it's built directly in a subdir of .build (like .build/69105y2).

A command returning with an non-zero error code will left the build directory behind for analysis, and dzil will exit with a non-zero status. Otherwise, the build directory will be removed and dzil will exit with status zero.

AUTHOR

Top

Ricardo SIGNES <rjbs@cpan.org>

COPYRIGHT AND LICENSE

Top


Dist-Zilla documentation Contained in the Dist-Zilla distribution.

use strict;
use warnings;
package Dist::Zilla::App::Command::run;
BEGIN {
  $Dist::Zilla::App::Command::run::VERSION = '4.200008';
}
# ABSTRACT: run stuff in a dir where your dist is built


use Dist::Zilla::App -command;
use Moose::Autobox;

sub abstract { 'run stuff in a dir where your dist is built' }

sub usage_desc {
  return '%c %o run command [ arg1 arg2 ... ]';
}

sub execute {
  my ($self, $opts, $args) = @_;

  $self->usage_error("no command to run supplied!") unless @$args;

  $self->zilla->run_in_build($args);
}

1;

__END__