Author: dagolden
Date: Sat Sep 12 13:41:02 2009
New Revision: 13317

Modified:
   Module-Build/trunk/Changes
   Module-Build/trunk/lib/Module/Build/Base.pm
   Module-Build/trunk/lib/Module/Build/Compat.pm
   Module-Build/trunk/lib/Module/Build/Platform/VMS.pm
   Module-Build/trunk/lib/Module/Build/Platform/Windows.pm

Log:
Reduced amount of diagnostic output

Changed lots of log_info calls to log_verbose and rearranged some of
the prerequisites/feature output.  Generally, output still happens when 
files are created, but other process output is suppressed unless running
with --verbose.  Errors and warnings continue to warn as before.



Modified: Module-Build/trunk/Changes
==============================================================================
--- Module-Build/trunk/Changes  (original)
+++ Module-Build/trunk/Changes  Sat Sep 12 13:41:02 2009
@@ -15,6 +15,8 @@
  Other:
  - Replaced use of YAML.pm with YAML::Tiny; Module::Build::YAML is now
    based on YAML::Tiny as well [David Golden]
+ - Reduced amount of console output under normal operation (use --verbose
+   to see all output)
 
 0.35_02 - Mon Sep  7 22:37:42 EDT 2009
 

Modified: Module-Build/trunk/lib/Module/Build/Base.pm
==============================================================================
--- Module-Build/trunk/lib/Module/Build/Base.pm (original)
+++ Module-Build/trunk/lib/Module/Build/Base.pm Sat Sep 12 13:41:02 2009
@@ -38,8 +38,19 @@
 
   $self->check_manifest;
   $self->auto_require;
-  $self->check_prereq;
-  $self->check_autofeatures;
+  if ( $self->check_prereq + $self->check_autofeatures != 2) {
+    $self->log_warn(<<EOF);
+
+ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions
+of the modules indicated above before proceeding with this installation
+
+EOF
+    unless ( $ENV{PERL5_CPANPLUS_IS_RUNNING} || $ENV{PERL5_CPAN_IS_RUNNING} ) {
+      $self->log_warn(
+        "Run 'Build installdeps' to install missing prerequisites.\n\n"
+      );
+    }
+  }
 
   $self->dist_name;
   $self->dist_version;
@@ -638,7 +649,7 @@
                               $self->config_file('features')
                              ], $notes_pm);
 
-  $self->log_info("Writing config notes to $notes_pm\n");
+  $self->log_verbose("Writing config notes to $notes_pm\n");
   File::Path::mkpath(File::Basename::dirname($notes_pm));
 
   Module::Build::Notes->write_config_data
@@ -994,7 +1005,7 @@
   
   my $filename = File::Spec->catfile($build_dir, 'lib', split '::', 
$opts{class}) . '.pm';
   my $filedir  = File::Basename::dirname($filename);
-  $pack->log_info("Creating custom builder $filename in $filedir\n");
+  $pack->log_verbose("Creating custom builder $filename in $filedir\n");
   
   File::Path::mkpath($filedir);
   die "Can't create directory $filedir: $!" unless -d $filedir;
@@ -1157,9 +1168,7 @@
   my ($self) = @_;
   my $features = $self->auto_features;
   
-  return unless %$features;
-
-  $self->log_info("Checking features:\n");
+  return 1 unless %$features;
 
   # TODO refactor into ::Util
   my $longest = sub {
@@ -1175,30 +1184,40 @@
   };
   my $max_name_len = length($longest->(keys %$features));
 
+  my ($num_disabled, $log_text) = (0, "\nChecking optional features...\n");
   while (my ($name, $info) = each %$features) {
-    $self->log_info("  $name" . '.' x ($max_name_len - length($name) + 4));
+    my $feature_text = "  $name" . '.' x ($max_name_len - length($name) + 4);
 
+    my $disabled;
     if ( my $failures = $self->prereq_failures($info) ) {
-      my $disabled = grep( /^(?:\w+_)?(?:requires|conflicts)$/,
+      $disabled = grep( /^(?:\w+_)?(?:requires|conflicts)$/,
                           keys %$failures ) ? 1 : 0;
-      $self->log_info( $disabled ? "disabled\n" : "enabled\n" );
+      $feature_text .= $disabled ? "disabled\n" : "enabled\n";
+      $num_disabled++ if $disabled;
 
-      my $log_text;
       while (my ($type, $prereqs) = each %$failures) {
        while (my ($module, $status) = each %$prereqs) {
          my $required =
            ($type =~ /^(?:\w+_)?(?:requires|conflicts)$/) ? 1 : 0;
          my $prefix = ($required) ? '-' : '*';
-         $log_text .= "    $prefix $status->{message}\n";
+         $feature_text .= "    $prefix $status->{message}\n";
        }
       }
-      $self->log_warn("$log_text") unless $self->quiet;
     } else {
-      $self->log_info("enabled\n");
+      $feature_text .= "enabled\n";
     }
+    $log_text .= $feature_text if $disabled || $self->verbose;
   }
 
-  $self->log_warn("\n") unless $self->quiet;
+  # warn user if features disabled
+  if ( $num_disabled ) {
+    $self->log_warn( $log_text );
+    return 0;
+  }
+  else {
+    $self->log_verbose( $log_text );
+    return 1;
+  }
 }
 
 # Automatically detect and add prerequisites based on configuration
@@ -1248,7 +1267,7 @@
   if ( exists $p->{$type}{$module} ) {
     return if $self->compare_versions( $version, '<=', $p->{$type}{$module} );
   }
-  $self->log_info("Adding to $type\: $module => $version\n");
+  $self->log_verbose("Adding to $type\: $module => $version\n");
   $p->{$type}{$module} = $version;
   return 1;
 }
@@ -1274,7 +1293,7 @@
       } elsif ($type =~ /^(?:\w+_)?recommends$/) {
        next if $status->{ok};
        $status->{message} = (!ref($status->{have}) && $status->{have} eq 
'<none>'
-                             ? "Optional prerequisite $modname is not 
installed"
+                             ? "$modname is not installed"
                              : "$modname ($status->{have}) is installed, but 
we prefer to have $spec");
       } else {
        next if $status->{ok};
@@ -1307,36 +1326,26 @@
   my $info = $self->_enum_prereqs;
   return 1 unless $info;
 
-  $self->log_info("Checking prerequisites...\n");
+  my $log_text = "Checking prerequisites...\n";
 
   my $failures = $self->prereq_failures($info);
 
   if ( $failures ) {
-
-    while (my ($type, $prereqs) = each %$failures) {
-      while (my ($module, $status) = each %$prereqs) {
-       my $prefix = ($type =~ /^(?:\w+_)?recommends$/) ? '*' : '- ERROR:';
-       $self->log_warn(" $prefix $status->{message}\n");
+    for my $type ( @{ $self->prereq_action_types } ) {
+      my $prereqs = $failures->{$type};
+      for my $module ( sort keys %$prereqs ) {
+        my $status = $prereqs->{$module};
+        my $prefix = ($type =~ /^(?:\w+_)?recommends$/) ? "* $type:" : "! 
$type:";
+        $log_text .= "$prefix $status->{message}\n";
       }
     }
 
-    $self->log_warn(<<EOF);
-
-ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions
-of the modules indicated above before proceeding with this installation
-
-EOF
-    unless ( $ENV{PERL5_CPANPLUS_IS_RUNNING} || $ENV{PERL5_CPAN_IS_RUNNING} ) {
-      $self->log_info(
-        "Run 'Build installdeps' to install missing prerequisites.\n\n"
-      );
-    }
-
+    $self->log_warn( $log_text );
     return 0;
 
   } else {
 
-    $self->log_info("Looks good\n\n");
+    $self->log_verbose($log_text . "Looks good\n\n");
     return 1;
 
   }
@@ -1585,11 +1594,11 @@
     = map $self->$_(), qw(build_script dist_name dist_version);
   
   if ( $self->delete_filetree($build_script) ) {
-    $self->log_info("Removed previous script '$build_script'\n");
+    $self->log_verbose("Removed previous script '$build_script'\n");
   }
 
   $self->log_info("Creating new '$build_script' script for ",
-                 "'$dist_name' version '$dist_version'\n\n");
+                 "'$dist_name' version '$dist_version'\n");
   my $fh = IO::File->new(">$build_script") or die "Can't create 
'$build_script': $!";
   $self->print_build_script($fh);
   close $fh;
@@ -1598,7 +1607,7 @@
   
   my $mymetafile = $self->mymetafile;
   if ( $self->delete_filetree($mymetafile) ) {
-    $self->log_info("Removed previous '$mymetafile'\n");
+    $self->log_verbose("Removed previous '$mymetafile'\n");
   }
   $self->log_info("Creating new '$mymetafile' with configuration results\n");
   if ( $self->write_metafile( $mymetafile, $self->prepare_metadata ) ) {
@@ -1618,13 +1627,13 @@
   require ExtUtils::Manifest;  # ExtUtils::Manifest is not warnings clean.
   local ($^W, $ExtUtils::Manifest::Quiet) = (0,1);
   
-  $self->log_info("Checking whether your kit is complete...\n");
+  $self->log_verbose("Checking whether your kit is complete...\n");
   if (my @missed = ExtUtils::Manifest::manicheck()) {
     $self->log_warn("WARNING: the following files are missing in your kit:\n",
                    "\t", join("\n\t", @missed), "\n",
                    "Please inform the author.\n\n");
   } else {
-    $self->log_info("Looks good\n\n");
+    $self->log_verbose("Looks good\n\n");
   }
 }
 
@@ -2854,7 +2863,7 @@
                  $self->config( 'man1ext' );
     my $outfile = File::Spec->catfile($mandir, $manpage);
     next if $self->up_to_date( $file, $outfile );
-    $self->log_info("Manifying $file -> $outfile\n");
+    $self->log_verbose("Manifying $file -> $outfile\n");
     eval { $parser->parse_from_file( $file, $outfile ); 1 }
       or $self->log_warn("Error creating '$outfile': $...@\n"); 
     $files->{$file} = $outfile;
@@ -2879,7 +2888,7 @@
                  $self->config( 'man3ext' );
     my $outfile = File::Spec->catfile( $mandir, $manpage);
     next if $self->up_to_date( $file, $outfile );
-    $self->log_info("Manifying $file -> $outfile\n");
+    $self->log_verbose("Manifying $file -> $outfile\n");
     eval { $parser->parse_from_file( $file, $outfile ); 1 }
       or $self->log_warn("Error creating '$outfile': $...@\n"); 
     $files->{$file} = $outfile;
@@ -3013,7 +3022,7 @@
       push( @opts, "--css=$path2root/" . $self->html_css) if $self->html_css;
     }
 
-    $self->log_info("HTMLifying $infile -> $outfile\n");
+    $self->log_verbose("HTMLifying $infile -> $outfile\n");
     $self->log_verbose("pod2html @opts\n");
     eval { Pod::Html::pod2html(@opts); 1 } 
       or $self->log_warn("pod2html @opts failed: $@");
@@ -3353,7 +3362,7 @@
   close $fh;
   chmod($mode, $manifest);
 
-  $self->log_info(map "Added to $manifest: $_\n", @$lines);
+  $self->log_verbose(map "Added to $manifest: $_\n", @$lines);
 }
 
 sub _sign_dir {
@@ -4532,7 +4541,7 @@
   my $deleted = 0;
   foreach (@_) {
     next unless -e $_;
-    $self->log_info("Deleting $_\n");
+    $self->log_verbose("Deleting $_\n");
     File::Path::rmtree($_, 0, 0);
     die "Couldn't remove '$_': $!\n" if -e $_;
     $deleted++;
@@ -4624,7 +4633,7 @@
 sub compile_xs {
   my ($self, $file, %args) = @_;
   
-  $self->log_info("$file -> $args{outfile}\n");
+  $self->log_verbose("$file -> $args{outfile}\n");
 
   if (eval {require ExtUtils::ParseXS; 1}) {
     
@@ -4854,7 +4863,7 @@
   # Create parent directories
   File::Path::mkpath(File::Basename::dirname($to_path), 0, oct(777));
   
-  $self->log_info("Copying $file -> $to_path\n") if $args{verbose};
+  $self->log_verbose("Copying $file -> $to_path\n");
   
   if ($^O eq 'os2') {# copy will not overwrite; 0x1 = overwrite
     chmod 0666, $to_path;

Modified: Module-Build/trunk/lib/Module/Build/Compat.pm
==============================================================================
--- Module-Build/trunk/lib/Module/Build/Compat.pm       (original)
+++ Module-Build/trunk/lib/Module/Build/Compat.pm       Sat Sep 12 13:41:02 2009
@@ -72,7 +72,7 @@
     unless $type =~ /^(small|passthrough|traditional)$/;
 
   if ($type eq 'passthrough') {
-    $build->log_info(<<"HERE");
+    $build->log_warn(<<"HERE");
     
 IMPORTANT NOTE: The '$type' style of Makefile.PL is deprecated and 
 may be removed in a future version of Module::Build in favor of the

Modified: Module-Build/trunk/lib/Module/Build/Platform/VMS.pm
==============================================================================
--- Module-Build/trunk/lib/Module/Build/Platform/VMS.pm (original)
+++ Module-Build/trunk/lib/Module/Build/Platform/VMS.pm Sat Sep 12 13:41:02 2009
@@ -182,7 +182,7 @@
 sub do_system {
   # The command must not be quoted but the arguments to it must be.
   my ($self, @cmd) = @_;
-  $self->log_info("@cmd\n");
+  $self->log_verbose("@cmd\n");
   my $cmd = shift @cmd;
   my $args = $self->_quote_args(@cmd);
   return !system("$cmd $args");

Modified: Module-Build/trunk/lib/Module/Build/Platform/Windows.pm
==============================================================================
--- Module-Build/trunk/lib/Module/Build/Platform/Windows.pm     (original)
+++ Module-Build/trunk/lib/Module/Build/Platform/Windows.pm     Sat Sep 12 
13:41:02 2009
@@ -39,7 +39,7 @@
 
   if ( lc $basename eq lc $self->build_script ) {
     if ( $self->build_bat ) {
-      $self->log_info("Deleting $basename.bat\n");
+      $self->log_verbose("Deleting $basename.bat\n");
       my $full_progname = $0;
       $full_progname =~ s/(?:\.bat)?$/.bat/i;
 

Reply via email to