diff options
author | Jesse Luehrs <doy@tozt.net> | 2010-11-21 21:34:33 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2010-11-21 21:48:08 -0600 |
commit | 67caa3cab560fb58ef93e71c7562d89afd3b03f2 (patch) | |
tree | 7aa3a89a3219373ff89ea9e6812ecd2ebcda8fe7 /inc | |
parent | a20ff0fe7cedb1750b40d04307a1e2f5230758df (diff) | |
download | package-stash-67caa3cab560fb58ef93e71c7562d89afd3b03f2.tar.gz package-stash-67caa3cab560fb58ef93e71c7562d89afd3b03f2.zip |
use dist-checkconflicts
Diffstat (limited to 'inc')
-rw-r--r-- | inc/MMPackageStash.pm | 44 |
1 files changed, 17 insertions, 27 deletions
diff --git a/inc/MMPackageStash.pm b/inc/MMPackageStash.pm index b29aa5e..f90eb99 100644 --- a/inc/MMPackageStash.pm +++ b/inc/MMPackageStash.pm @@ -45,39 +45,29 @@ CAN_CC # copied out of moose my $check_conflicts = <<'CHECK_CONFLICTS'; sub check_conflicts { - my %conflicts = ( - 'Class::MOP' => '1.08', - 'MooseX::Role::WithOverloading' => '0.08', - 'namespace::clean' => '0.18', - ); - my $found = 0; - for my $mod ( sort keys %conflicts ) { - eval "require $mod"; - next if $@; - - my $installed = $mod->VERSION(); - if ( $installed le $conflicts{$mod} ) { - - print <<"EOF"; - + if (eval { require 'lib/Package/Stash/Conflicts.pm'; 1; }) { + if (eval { Package::Stash::Conflicts->check_conflicts; 1 }) { + return; + } + else { + my $err = $@; + $err =~ s/^/ /mg; + warn "***\n$err***\n"; + } + } + else { + print <<'EOF'; *** - This version of Package::Stash conflicts with the version of - $mod ($installed) you have installed. - - You will need to upgrade $mod after installing - this version of Package::Stash. + Your toolchain doesn't support configure_requires, so Dist::CheckConflicts + hasn't been installed yet. You should check for conflicting modules + manually using the 'package-stash-conflicts' script that is installed with + this distribution once the installation finishes. *** - EOF - - $found = 1; - } } - return unless $found; - # More or less copied from Module::Build - return if $ENV{PERL_MM_USE_DEFAULT}; + return if $ENV{PERL_MM_USE_DEFAULT}; return unless -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT)); sleep 4; |