Stop running on smokers with a screwed up Package::Stash
[dbsrgits/DBIx-Class.git] / Makefile.PL
index 74c67b1..73cbceb 100644 (file)
@@ -57,13 +57,14 @@ my $test_requires = {
 
 my $runtime_requires = {
   'Carp::Clan'               => '6.0',
-  'Class::Accessor::Grouped' => '0.10000',
+  'Class::Accessor::Grouped' => '0.10002',
   'Class::C3::Componentised' => '1.0005',
   'Class::Inspector'         => '1.24',
   'Config::Any'              => '0.20',
   'Context::Preserve'        => '0.01',
   'Data::Dumper::Concise'    => '1.000',
   'Data::Page'               => '2.00',
+  'Hash::Merge'              => '0.12',
   'MRO::Compat'              => '0.09',
   'Module::Find'             => '0.06',
   'Path::Class'              => '0.18',
@@ -163,6 +164,22 @@ warn $optdep_msg if $Module::Install::AUTHOR;
 auto_install();
 warn $optdep_msg if $Module::Install::AUTHOR;
 
+# if this is a smoker, and some known-to-be-trouble reqs are already present
+# (are not missing reqs) - we can exit 1 now so that we register an N/A report
+# instead of a FAIL
+if ($ENV{AUTOMATED_TESTING} && ! $ENV{PERL5_CPANM_IS_RUNNING} && ! $ENV{RELEASE_TESTING}) {
+
+  eval {
+    require Package::Stash;
+    my $psv = Package::Stash->VERSION;
+    if ($psv != 0.13 and $psv >= 0.09 and $psv <= 0.15) {
+      warn "A trial version $psv of Package::Stash detected (known to break namespace::clean). "
+          ."Aborting useless smoke test\n";
+      exit 1;
+    }
+  };
+}
+
 # re-create various autogenerated documentation bits
 if ($Module::Install::AUTHOR) {
 
@@ -277,7 +294,10 @@ if ($Module::Install::AUTHOR && keys %removed_build_requires) {
 }
 
 # test that we really took things away (just in case, happened twice somehow)
-exit 0 unless -f 'META.yml';  # in case bizarro comes around
+if (! -f 'META.yml') {
+  warn "No META.yml generated?! aborting...\n";
+  exit 1;
+}
 my $meta = do { local @ARGV = 'META.yml'; local $/; <> };
 
 # this is safe as there is a fatal check earlier to make sure $opt_testdeps does