Dist-Zilla-App-Command-aliendeps

 view release on metacpan or  search on metacpan

lib/Dist/Zilla/App/Command/aliendeps.pm  view on Meta::CPAN

package Dist::Zilla::App::Command::aliendeps;

use strict;
use warnings;
use Dist::Zilla::App -command;
use Ref::Util qw( is_hashref );

# ABSTRACT: (DEPRECATED) Print your alien distributions alien prerequisites
our $VERSION = '0.03'; # VERSION


sub abstract { "print your alien distributions alien prerequisites" }

sub opt_spec { [ 'env', 'honor ALIEN_FORCE and ALIEN_INSTALL_TYPE environment variables' ] }

sub execute
{
  my ($self, $opt, $arg) = @_;

  if($opt->env)
  {
    if(defined $ENV{ALIEN_INSTALL_TYPE})
    {
      return if $ENV{ALIEN_INSTALL_TYPE} eq 'system';
    }
    elsif(defined $ENV{ALIEN_FORCE})
    {
      return if !$ENV{ALIEN_FORCE};
    }
  }
  
  # Dist::Zilla::Plugin::ModuleBuild
  # module_build_args
  $self->app->chrome->logger->mute;
  
  my $zilla = $self->zilla;
  $_->before_build for @{ $zilla->plugins_with(-BeforeBuild) };
  $_->gather_files for @{ $zilla->plugins_with(-FileGatherer) };
  $_->set_file_encodings for @{ $zilla->plugins_with(-EncodingProvider) };
  $_->prune_files  for @{ $zilla->plugins_with(-FilePruner) };
  $_->munge_files  for @{ $zilla->plugins_with(-FileMunger) };
  $_->register_prereqs for @{ $zilla->plugins_with(-PrereqSource) };

  my($pmb) = grep { $_->isa("Dist::Zilla::Plugin::ModuleBuild") } @{ $zilla->plugins };
  
  return unless $pmb;
  
  my $alien_bin_requires = $pmb->module_build_args->{alien_bin_requires};
  
  return unless is_hashref $alien_bin_requires;
  
  foreach my $name (sort keys %$alien_bin_requires)
  {
    print "$name\n";
  }
}

1;

__END__

=pod

=encoding UTF-8

=head1 NAME



( run in 2.143 seconds using v1.01-cache-2.11-cpan-5837b0d9d2c )