mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-15 17:59:26 +02:00
svn2revisioninc accepts old style command line parameters from Darius
git-svn-id: trunk@10244 -
This commit is contained in:
parent
d02f71d630
commit
268922b4be
@ -229,44 +229,74 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSvn2RevisionApplication.ShowHelp;
|
procedure TSvn2RevisionApplication.ShowHelp;
|
||||||
|
function ExtractFileBaseName(FileName: string): string;
|
||||||
|
begin
|
||||||
|
Result := ChangeFileExt(ExtractFileName(FileName), '');
|
||||||
|
end;
|
||||||
begin
|
begin
|
||||||
writeln(ParamStr(0), ' [Options]');
|
writeln;
|
||||||
|
writeln(ParamStr(0));
|
||||||
|
writeln;
|
||||||
|
writeln(ExtractFileBaseName(ParamStr(0)), ' <repository path> <output file> [Options]');
|
||||||
|
writeln('or');
|
||||||
|
writeln(ExtractFileBaseName(ParamStr(0)), ' [Options] <repository path> <output file>');
|
||||||
|
writeln('or');
|
||||||
|
writeln(ExtractFileBaseName(ParamStr(0)), ' <repository path> [Options] <output file>');
|
||||||
writeln;
|
writeln;
|
||||||
writeln('Options:');
|
writeln('Options:');
|
||||||
writeln(' -D<path> Directory to get SVN version from (default current dir)');
|
writeln(' --o Output file');
|
||||||
writeln(' -O<file> Output file (default revision.inc)');
|
writeln(' --c=<name> Name of constant (default RevisionStr)');
|
||||||
writeln(' -C<name> Name of constant (default RevisionStr)');
|
writeln(' --v Be more verbose');
|
||||||
writeln(' -v Be more verbose');
|
writeln(' --h This help screen');
|
||||||
writeln(' -h This help screen');
|
writeln;
|
||||||
|
writeln('Note: <repository path> default current directory');
|
||||||
|
writeln(' <output file> default revision.inc');
|
||||||
|
writeln(' --o overrides <output file>');
|
||||||
|
writeln;
|
||||||
|
writeln(' 1st switchless parameter = <repository path>');
|
||||||
|
writeln(' 2nd switchless parameter = <output file>');
|
||||||
halt(1);
|
halt(1);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSvn2RevisionApplication.ParamsValid: boolean;
|
function TSvn2RevisionApplication.ParamsValid: boolean;
|
||||||
var
|
var
|
||||||
ch: char;
|
i: integer;
|
||||||
|
index: integer;
|
||||||
begin
|
begin
|
||||||
Result := False;
|
Result := False;
|
||||||
|
|
||||||
//reset
|
//reset
|
||||||
SourceDirectory:=ExtractFilePath(ParamStr(0));
|
|
||||||
Verbose := False;
|
Verbose := False;
|
||||||
RevisionIncFileName := ExpandFileName('revision.inc');
|
|
||||||
ConstName := 'RevisionStr';
|
ConstName := 'RevisionStr';
|
||||||
|
SourceDirectory:=ChompPathDelim(ExtractFilePath(ParamStr(0)));
|
||||||
|
RevisionIncFileName := ExpandFileName('revision.inc');
|
||||||
|
|
||||||
//parse options
|
//find switchless parameters
|
||||||
repeat
|
index := 1;
|
||||||
ch:=Getopt('D:O:C:vh?');
|
for i := 1 to ParamCount do
|
||||||
Case ch of
|
begin
|
||||||
'D' : SourceDirectory := OptArg;
|
if Copy(ParamStr(i),1,1) <> '-' then
|
||||||
'O' : RevisionIncFileName := ExpandFileName(OptArg);
|
begin
|
||||||
'C' : ConstName := OptArg;
|
case index of
|
||||||
'v' : Verbose := True;
|
1: SourceDirectory:=ChompPathDelim(ParamStr(i));
|
||||||
'h' : ShowHelp;
|
2: RevisionIncFileName := ExpandFileName(ParamStr(i));
|
||||||
'?' : ShowHelp;
|
end;
|
||||||
|
Inc(index);
|
||||||
EndOfOptions : break;
|
|
||||||
end;
|
end;
|
||||||
until False;
|
end;
|
||||||
|
|
||||||
|
//parse options
|
||||||
|
if HasOption('h', 'help') or HasOption('?') then
|
||||||
|
ShowHelp;
|
||||||
|
|
||||||
|
if HasOption('v') then
|
||||||
|
Verbose := True;
|
||||||
|
|
||||||
|
if HasOption('c') then
|
||||||
|
ConstName := GetOptionValue('c');
|
||||||
|
|
||||||
|
if HasOption('o') then
|
||||||
|
RevisionIncFileName := GetOptionValue('o');
|
||||||
|
|
||||||
//show options
|
//show options
|
||||||
Show('SourceDirectory: ' + SourceDirectory);
|
Show('SourceDirectory: ' + SourceDirectory);
|
||||||
@ -281,7 +311,7 @@ begin
|
|||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
RevisionIncDirName:=ExtractFilePath(RevisionIncFileName);
|
RevisionIncDirName:=ExtractFilePath(ExpandFileName(RevisionIncFileName));
|
||||||
if not DirectoryExists(RevisionIncDirName) then begin
|
if not DirectoryExists(RevisionIncDirName) then begin
|
||||||
writeln('Error: Target Directory "', RevisionIncDirName, '" doesn''t exist.');
|
writeln('Error: Target Directory "', RevisionIncDirName, '" doesn''t exist.');
|
||||||
exit;
|
exit;
|
||||||
|
Loading…
Reference in New Issue
Block a user