This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add an argument to mktodo.pl
authorKarl Williamson <khw@cpan.org>
Sun, 21 Jul 2019 00:10:39 +0000 (18:10 -0600)
committerNicolas R <atoomic@cpan.org>
Fri, 27 Sep 2019 22:39:33 +0000 (16:39 -0600)
This will be the directory in which to place the output files.

This will enable not having to write over one set of file as we go
along.  Previously everything got written to one directory, then the
files were moved, and the directory filled again.

This will also enable passing in info without having to add even more,
mostly redundant, arguments.

(cherry picked from commit 23e4148517314fb987306cc65255c25028174c16)
Signed-off-by: Nicolas R <atoomic@cpan.org>
dist/Devel-PPPort/devel/mktodo
dist/Devel-PPPort/devel/mktodo.pl

index 88b9eb6..999d6ca 100755 (executable)
@@ -21,6 +21,7 @@ use strict;
 use Getopt::Long;
 
 require './devel/devtools.pl';
+require './parts/ppptools.pl';
 
 our %opt = (
   base    => 0,     # If specified, this will generate base files, not todo ones
@@ -61,12 +62,15 @@ my $outdir = 'parts/todo';
 my $perls_ref = get_and_sort_perls(\%opt);
 
 # Go through all the perls, creating a todo file for it.
-for (@${perls_ref}) {
-  my $todo = do { my $v = $_->{todo}; $v =~ s/\D+//g; $v };
-  my @args = ('--perl', $_->{path}, '--version', "$_->{todo}");
+for (my $i = 0; $i < @$perls_ref; $i++) {
+  my $this_perl = @{$perls_ref}[$i];
+  my @args = ('--perl',     $this_perl->{path},
+              '--version',  $this_perl->{version},
+              '--todo-dir', $outdir
+             );
 
-  push @args, '--blead' if $_ == $perls_ref->[0];   # First one is blead
-  push @args, '--todo', $_->{'todo'};
+  push @args, '--blead' if $i == 0; # First one is blead
+  push @args, '--todo', $this_perl->{'todo'};
   push @args, '--base' if $opt{base};
   push @args, "--debug=$opt{debug}" if $opt{debug};
   push @args, '--verbose' if $opt{verbose};
index 63ba3d3..89b7754 100644 (file)
@@ -32,12 +32,13 @@ our %opt = (
   base      => 0,     # Don't use ppport.h when generating
   verbose   => 0,
   check     => 1,
+ 'todo-dir' => "",
   todo      => "",    # If no --todo, this is a blead perl
   shlib     => 'blib/arch/auto/Devel/PPPort/PPPort.so',
 );
 
 GetOptions(\%opt, qw(
-perl=s todo=s blead version=s shlib=s debug=i base verbose check!
+perl=s todo=i blead todo-dir=s version=s shlib=s debug=i base verbose check!
           )) or die;
 
 identify();
@@ -45,8 +46,8 @@ identify();
 my $todo_file;
 my $todo_version;
 if ($opt{todo}) {
-    $todo_file = $opt{todo};
-    $todo_version = $opt{version};
+    $todo_file = "$opt{'todo-dir'}/$opt{todo}";
+    $todo_version = format_version_line($opt{todo});
 }
 
 print "\n", ident_str(), "\n\n";