tool multi_makeskel.pl: fixed svn props and added option -r for recursive from Darius

git-svn-id: trunk@11143 -
This commit is contained in:
mattias 2007-05-15 10:17:15 +00:00
parent c6b596f1c8
commit 61b1572001
2 changed files with 37 additions and 8 deletions

2
.gitattributes vendored
View File

@ -1069,7 +1069,7 @@ docs/xml/lcl/toolwin.xml svneol=LF#text/xml eol=lf
docs/xml/lcl/translations.xml svneol=LF#text/xml eol=lf
docs/xml/lcl/utrace.xml svneol=LF#text/xml eol=lf
docs/xml/lcl/xmlpropstorage.xml svneol=LF#text/xml eol=lf
docs/xml/multi_makeskel.pl -text svneol=native#application/x-perl
docs/xml/multi_makeskel.pl svneol=native#text/plain
examples/address_book/addrbook.dpr svneol=native#text/pascal
examples/address_book/addrbook.lpi svneol=native#text/plain
examples/address_book/addrbook.lpr svneol=native#text/pascal

View File

@ -12,10 +12,15 @@
# *****************************************************************************
#
# Author: Mattias Gaertner
#
# 14-May-2007 Added recursive search by Darius Blaszyk
use vars qw/ %opt /;
use Getopt::Std;
my $opt_string = 'hp:s:o:i:m:x';
use File::Find;
use File::Basename;
my $opt_string = 'hp:s:o:i:m:xr';
getopts( "$opt_string", \%opt ) or usage();
usage() if $opt{h};
@ -29,6 +34,7 @@ usage: $0 [-hpsoimx]
-h : this (help) message
-p <packagename> : the FPDoc package name to which the units belong
-s <source directory> : the source directory with the .pp and .pas files
-r : search the sourcedir recursively
-o <output directory> : the output directory for the xml files
optional:
@ -43,6 +49,18 @@ EOF
exit;
}
sub wanted {
#$File::Find::dir = /some/path/
#$_ = foo.ext
#$File::Find::name = /some/path/foo.ext
my(undef, undef, $ftype) = fileparse($_, qr"\..*");
if (($ftype eq ".pp") || ($ftype eq ".pas")) {
unshift(@Files, $File::Find::name);
}
}
($opt{p}) || usage(); # packagename needed
($opt{s}) || usage(); # source directory needed
($opt{o}) || usage(); # output directory needed
@ -71,15 +89,26 @@ if($opt{p}){
}
# get pascal unit files
opendir(DIR, $SrcDir);
@Files = grep(/\.(pas|pp)$/,readdir(DIR));
closedir(DIR);
if($opt{r}){
#recursively find unit files
find(\&wanted, $SrcDir);
} else {
opendir(DIR, $SrcDir);
@Files = grep(/\.(pas|pp)$/,readdir(DIR));
closedir(DIR);
}
for $SrcFile(@Files){
$OutFile=$SrcFile;
$OutFile = fileparse($SrcFile);
($OutFile=~s/\.(pas|pp)$/.xml/);
print $SrcFile." -> ".$OutFile."\n";
$Input=$SrcDir."/".$SrcFile;
#create the input filename
if($opt{r}){
$Input=$SrcFile;
} else {
$Input=$SrcDir."/".$SrcFile;
}
if ($opt{i}){
$Input.="' ".$opt{i}."'";
}