Skip to content

Commit

Permalink
Make perl Makefile.PL runs more user friendly - better diagnostics
Browse files Browse the repository at this point in the history
  • Loading branch information
ribasushi committed Jan 25, 2013
1 parent 3054407 commit 4a51243
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 16 deletions.
2 changes: 1 addition & 1 deletion maint/Makefile.PL.inc/11_authortests.pl
Expand Up @@ -34,7 +34,7 @@
# perl cmd
join( ' ',
'$(ABSPERLRUN)',
map { $mm_proto->quote_literal($_) } qw(-e $ENV{RELEASE_TESTING}=1;)
map { $mm_proto->quote_literal($_) } qw(-e $ENV{RELEASE_TESTING}=1;$ENV{DBICTEST_NO_MAKEFILE_VERIFICATION}=1;)
),
# test list
join( ' ',
Expand Down
2 changes: 1 addition & 1 deletion maint/Makefile.PL.inc/52_autogen_README.pl
@@ -1,4 +1,4 @@
# When a long-standing branch is updated a README may still inger around
# When a long-standing branch is updated a README may still linger around
unlink 'README' if -f 'README';

# Makefile syntax allows adding extra dep-specs for already-existing targets,
Expand Down
26 changes: 18 additions & 8 deletions maint/Makefile.PL.inc/53_autogen_pod.pl
Expand Up @@ -21,6 +21,9 @@
# generate the OptDeps pod both in the clone-dir and during the makefile distdir
{
print "Regenerating Optional/Dependencies.pod\n";

# this should always succeed - hence no error checking
# if someone breaks OptDeps - travis should catch it
require DBIx::Class::Optional::Dependencies;
DBIx::Class::Optional::Dependencies->_gen_pod ($ver, "$pod_dir/lib");

Expand Down Expand Up @@ -50,8 +53,19 @@
my $pod_fn = "$pod_dir/dbicadmin.pod";

# if the author doesn't have the prereqs, don't fail the initial "perl Makefile.pl" step
# therefore no error checking
system($^X, qw( -Ilib -- script/dbicadmin --documentation-as-pod ), $pod_fn);
my $great_success;
{
local @ARGV = ('--documentation-as-pod', $pod_fn);
local *CORE::GLOBAL::exit = sub { $great_success++; die; };
do 'script/dbicadmin';
}
if (!$great_success and ($@ || $!) ) {
printf ("FAILED!!! Subsequent `make dist` will fail. %s\n",
$ENV{DBICDIST_DEBUG}
? 'Full error: ' . ($@ || $!)
: 'Re-run with $ENV{DBICDIST_DEBUG} set for more info'
);
}

postamble <<"EOP";
Expand All @@ -64,13 +78,9 @@
}


# generate the inherit pods both in the clone-dir and during the makefile distdir
# generate the inherit pods only during distbuilding phase
# it is too slow to do at regular Makefile.PL
{
print "Regenerating project documentation to include inherited methods\n";

# if the author doesn't have the prereqs, don't fail the initial "perl Makefile.pl" step
do "maint/gen_pod_inherit" or print "\n!!! FAILED: $@\n";

postamble <<"EOP";
clonedir_generate_files : dbic_clonedir_gen_inherit_pods
Expand Down
14 changes: 8 additions & 6 deletions maint/Makefile.PL.inc/56_autogen_testddl.pl
Expand Up @@ -6,10 +6,14 @@
# on error
# The EUMM build-stage generation will run unconditionally and
# errors will not be trapped
if (my $out = ` "$^X" -Ilib maint/gen_schema `) {
open (my $fh, '>:unix', $ddl_fn) or die "Unable to open $ddl_fn: $!";
print $fh $out;
close $fh;
require DBIx::Class::Optional::Dependencies;
if ( DBIx::Class::Optional::Dependencies->req_ok_for ('deploy') ) {
print "Regenerating t/lib/sqlite.sql\n";
if (my $out = ` "$^X" -Ilib maint/gen_schema `) {
open (my $fh, '>:unix', $ddl_fn) or die "Unable to open $ddl_fn: $!";
print $fh $out;
close $fh;
}
}

postamble <<"EOP";
Expand All @@ -21,7 +25,5 @@
@{[ $crlf_fixup->($ddl_fn) ]}
EOP



# keep the Makefile.PL eval happy
1;

0 comments on commit 4a51243

Please sign in to comment.