From 284addb3e31caaa129cd8010141932d8bd17ed67 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Thu, 14 Dec 2017 14:58:19 +0100 Subject: Option -w|--warten neu --- Make.1.in | 3 ++ Make.lpr | 5 ++-- Make.lps | 83 ++++++++++++++++++++++++++-------------------------- dateibeziehungen.pas | 15 +++++++--- 4 files changed, 58 insertions(+), 48 deletions(-) diff --git a/Make.1.in b/Make.1.in index a18f18a..48acf2f 100644 --- a/Make.1.in +++ b/Make.1.in @@ -24,6 +24,9 @@ print nothing but error messages and (if \fB-A\fP omitted) commands .TP .B "\-u, \-\-unsicher" accept running jobs outside of directory of \fIAusgabedatei\fP or \fIPrüfsummendatei\fP +.TP +.B "\-w, \-\-warten" +wait for user input on error .SH MACHDATEI SYNTAX \fB#\fP starts comments, empty lines are ignored. .PP diff --git a/Make.lpr b/Make.lpr index 70ea667..8f6ef4e 100644 --- a/Make.lpr +++ b/Make.lpr @@ -35,8 +35,9 @@ begin lOpts.add('Prüfsummen:'); lOpts.add('leise'); lOpts.add('unsicher'); + lOpts.add('warten'); nonOpts:=tStringList.create; - errorMsg:=checkOptions('A:D:P:lu',lOpts,nil,nonOpts,true); + errorMsg:=checkOptions('A:D:P:luw',lOpts,nil,nonOpts,true); lOpts.free; while nonOpts.count>0 do begin if errorMsg<>'' then @@ -61,7 +62,7 @@ begin else pd:=''; - mach:=tMach.create(md,pd); + mach:=tMach.create(md,pd,hasOption('w','warten')); gibAus('originale Regeln: '+inttostr(mach.anzOriAbh)+', originale Dateien: '+inttostr(mach.anzDats),3); mach.erzeugeRegeln; diff --git a/Make.lps b/Make.lps index d6ef6d1..78bf2b2 100644 --- a/Make.lps +++ b/Make.lps @@ -7,8 +7,9 @@ - - + + + @@ -40,11 +41,10 @@ - - - - + + + @@ -112,9 +112,9 @@ - - - + + + @@ -134,121 +134,120 @@ - + - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + + - - + + - + - + - - + - + - + - + - - + + - - + + diff --git a/dateibeziehungen.pas b/dateibeziehungen.pas index e69bf56..f016faa 100644 --- a/dateibeziehungen.pas +++ b/dateibeziehungen.pas @@ -96,11 +96,12 @@ type _mglAbh: tExpliziteAbhaengigkeiten; _dats: tDateienMitDaten; _ign: array of tRegExpr; + _warten: boolean; function liesMachDatei: boolean; function liesPruefsummenfile: boolean; function sammleDateien(wo: string; rekursiv: boolean): longint; public - constructor create(machDatei, pruefSummenDatei: string); + constructor create(machDatei, pruefSummenDatei: string; warten: boolean); destructor destroy; override; procedure erzeugeRegeln; procedure findeWasZuTunIst; @@ -700,12 +701,13 @@ end; // tMach *********************************************************************** -constructor tMach.create(machDatei, pruefSummenDatei: string); +constructor tMach.create(machDatei, pruefSummenDatei: string; warten: boolean); begin inherited create; _oriAbh:=tGenerischeAbhaengigkeiten.create; _mglAbh:=tExpliziteAbhaengigkeiten.create; _dats:=tDateienMitDaten.create; + _warten:=warten; // machDatei teilweise prüfen und setzen if machDatei='' then begin @@ -1036,8 +1038,13 @@ begin assignFile(ausg,ausgabeDatei); rewrite(ausg); writeln(ausg,'set -e'); - for i:=0 to befehle.count-1 do - writeln(ausg,'('+befehle[i]+') || (printf ''In\n"%s"\n'' "'+escape(befehle[i],'\"','\')+'"; read -p "ist ein Fehler aufgetreten! ... "; exit 1)'); + for i:=0 to befehle.count-1 do begin + write(ausg,'('+befehle[i]+') || (printf ''In\n"%s"\n'' "'+escape(befehle[i],'\"','\')+'"; '); + if _warten then + writeln(ausg,'read -p "ist ein Fehler aufgetreten! ... "; exit 1)') + else + writeln(ausg,'printf ''ist ein Fehler aufgetreten!\n''; exit 1)'); + end; closeFile(ausg); end; befehle.free; -- cgit v1.2.3-70-g09d2