Lade...
 

Parsen von Projekten von der Konsole aus

Parsen von Projekten von der Konsole aus

IPC-Dateien

IPC-Dateien (InstantView Project Configuration) enthalten die für das Parsen eines in ClassiX definierten Projekts wesentlichen Informationen.

Dies sind Werte für:

  1. Pfad zur CXP-Datei
  2. Pfad zur INI-Datei
  3. Pfad zum Projektverzeichnis
  4. CX_SYSTEM
  5. CX_PATH
  6. CX_BITMAP
  7. Liste an Pfaden zu NUM-Dateien
  8. (optional) Pfad zur EXT-Datei

Alle Pfadangaben können relativ zur IPC-Datei spezifiziert werden, wodurch der Einsatz in verschiedenen Kontexten vereinfacht wird.

IPC-Dateien werden automatisch beim Anlegen eines Projektes in Eclipse angelegt und besitzen dann immer den gleichen Namen und liegen am selben Ort wie die CXP-Datei. In ihnen sind alle Angaben, welche normalerweise über Umgebungsvariablen in Batch-Dateien getätigt werden, gebündelt.

Der InstantView-Parser

Der in VSCode eingesetzte Parser kann auch unabhängig von VSCode genutzt werden, um ein komplettes Projekt von der Konsole aus zu parsen. Hierfür wird die JAR-Datei des Parsers (instantview-parser.jar) benötigt.

Downloads

Externe Bibliotheken

Der Parser verwendet folgende Bibliotheken, die alle in der instantview-parser.jar enthalten sind und nicht separat runtergeladen werden müssen.

  • Guava (Version 29.0)
  • ANTLRv3 (Version 3.5.2)
  • JSON Bibliothek von org.json (Version 20200518)

 

Aufruf

Der Aufruf des Parsers erfolgt von der Konsole mittels der folgenden Syntax:

java -jar instantview-parser.jar [IPC-Datei]

Ausgabe

Die generelle Ausgabe des Parsers erfolgt auf stdout in der folgenden Syntax:

Parsing [IPC-Datei] num-files Parse took XXX milliseconds ini-file Parse took XXXX milliseconds cxp-file Parse took XXXX milliseconds AppsWh-files Parse took XXXXXX milliseconds Number of errors occurred: X Number of warnings occurred: XXXX Number of infos occurred: X

Außerdem werden über stderr Fehler in der folgenden Syntax gemeldet:

Error: File=[DATEI]; Pos=[ZEILE]:[SPALTE]; #[FEHLER-ID]; Message="[FEHLER-MELDUNG]"

Der Return Code des Parsers ist 0, falls keine Fehler auftauchten, und 1, falls welche auftauchten. Der Return Code eines Programms kann unter Windows über %ERRORLEVEL% abgefragt werden. Durch diese Rückmeldung eignet sich der Parser auch zur Integration in einen automatisch ablaufenden Prozess zur Überprüfung von Projekten, welcher beispielsweise durch ein Versionskontrollsystem angestoßen werden kann.

Weitere Optionen

Hinter der IPC-Datei können noch verschiedene Parameter angegeben werden:

Parameter auch ohne ipc sinnvoll? Bedeutung
-a nein Analysiert neben den gängigen Fehlern die Positionierung der Widgets und gibt einen Report aus.
-h ja Ausgabe der Benutzungssyntax
-l ja Auflistungen der dem Parser bekannten Warnungen
-v
--version
ja Ausgabe der Version des Parsers
-w nein Auswahl von Warnungen, welche ebenfalls zu den Fehlern ausgegeben werden sollen
-whitelist nein Ausgabe in eine Datei, in die alle während des Parsens erfassten Dateien eingetragen werden.

Automatischer Aufruf mehrerer Projekte

Einrichtung

Für die Ausführung des automatischen Aufrufs wird Ant von Apache benötigt. Falls dies auf Ihrem Rechner noch nicht insatlliert ist müssen Sie diese Schritte zuvor ausführen :

  1. Ant kann von der ​Ant-Homepage und die ZIP-Datei von Ant-Contrib von ​Sourceforge heruntergeladen werden. Apache-ant-x.x.x-bin.zip nach C:\Programme\ant (oder ähnlich) auspacken!
  2. Systemvariable PATH ergänzen um: "C:\Programme\ant\apache-ant-x.x.x\bin"
  3. Systemvariable ANT_HOME setzen auf: "C:\Programme\ant\apache-ant-x.x.x"
  4. ANT-Contrib installieren: JAR-File aus C:\Programme\ant\lib kopieren

Für jedes Projekt sollte im Root-Verzeichnis (beispielsweise Y:\classix\Evaluate) eine Datei build.xml angelegt werden, welche nach folgendem Schema die vorhandenen IPC-Dateien referenziert:

<project default="parse" basedir="."> <target name="parse"> <ant antfile="build.xml" dir=".." target="parse"> <property name="ipcFile" value="Evaluate\\projects\\Project1.ipc"/> </ant> <ant antfile="build.xml" dir=".." target="parse"> <property name="ipcFile" value="Evaluate\\projects\\Project2.ipc"/> </ant> </target> </project>

Darüber hinaus sollte im darüber liegenden Verzeichnis (beispielsweise Y:\classix) eine Datei build.properties angelegt werden, welche den InstantView-Parser referenziert:

validatorPath=Y:/classix/main/Tools/Parser/instantview-parser.jar

In Y:\classix muss die build.xml korrekt angelegt sein und ANT installiert sein.

Aufruf

Ist die Installation erfolgt, so kann nun über die Kommandozeile aus Y:\classix\Evaluate ant aufgerufen werden, um alle Projekte automatisch zu parsen. Beispielsweise:

Y:\classix\Evaluate> ant Buildfile: Y:\classix\Evaluate\build.xml parse: parse: [java] Parsing Evaluate\\projects\\Evaluate.ipc ...