Bibliotheken automatisch erzeugen, bereitstellen, verifizieren

logi.CAD 3  bietet ein Werkzeug für das automatisierte Erzeugen (= Generieren) und Bereitstellen einer Bibliothek. Dieses Werkzeug kann auch verwendet werden, um den Zustand der Bibliothek zu verifizieren.

Gut zu wissen

(grey lightbulb) Das Werkzeug ist zur Verwendung durch einen fortgeschrittenen Anwender von logi.CAD 3  vorgesehen.

(grey lightbulb)Bedingung für die erfolgreiche Verwendung des Werkzeugs sind Kenntnisse über die durchzuführende Aktion, wie sie in der grafischen Benutzeroberläche von logi.CAD 3  ausgeführt werden würde.

(grey lightbulb)Die Ausgaben des Werkzeugs erfolgen nur in englischer Sprache.

Inhalt dieses Artikels:

Vorbereitungen

  1. Stellen Sie sicher, dass logi.CAD 3  installiert ist. Halten Sie die folgenden Informationen bereit:  
    • der Pfad zum Installationsverzeichnis von logi.CAD 3  
    • der Pfad zu einem Verzeichnis, das als Arbeitsbereich verwendet wird
      Falls das Verzeichnis nicht existiert, wird es vom Werkzeug erstellt. Falls der optionale Parameter
       -checkEmptyWorkspace verwendet wird (siehe die Beschreibung dieses Parameters weiter unten), muss das Verzeichnis leer sein.
       
    • die Informationen für die Bibliotheken, die erzeugt, bereitgestellt und/oder verifiziert werden sollen
    • der Pfad zur Konfigurationsdatei für das Protokoll (siehe unten für weitere Informationen)
      Eine Datei mit einer Beispielkonfiguration ist in der Installation von  logi.CAD 3 enthalten.
       
  2. Öffnen Sie eine Befehlszeile: z.B. cmd.exe unter Windows und wechseln Sie in das Installationsverzeichnis von  logi.CAD 3  

Aufruf

Parameter, die innerhalb von [] stehen, sind optional. Das heißt, wenn Sie den Parameter auslassen, wird das Standardverhalten angewendet (siehe unter "Beschreibung der Parameter" weiter unten). Wenn Sie den Parameter verwenden möchten, geben Sie das Zeichen [ und ] nicht ein (siehe die nachfolgenden Beispiele). 

Aufruf für das automatisierte Erzeugen

logiCAD3c --launcher.ini logiCAD3.ini -application com.logicals.library.lc3lib.application [-noSplash] -libBuild [<LIBRARY-NAME__VERSION>] -projectPath <PROJECTPATH> -libraryDefinitionName <LIBCONFIGURATION-NAME> -data <WORKSPACE> [-checkEmptyWorkspace] -vmargs -Dlog4j.configuration=file:<LOG-CONFIGURATION>

Aufruf für das automatisierte Bereitstellen

logiCAD3c --launcher.ini logiCAD3.ini -application com.logicals.library.lc3lib.application [-noSplash] -libDeploy [<LIBRARY-NAME__VERSION>] [-libDeployTo <TARGET_FOLDER>] -projectPath <PROJECTPATH> -libraryDefinitionName <LIBCONFIGURATION-NAME> -data <WORKSPACE> [-checkEmptyWorkspace] -vmargs -Dlog4j.configuration=file:<LOG-CONFIGURATION>

Aufruf für das automatisierte Verifizieren

Bei diesem Verifizieren wird geprüft, ob sich der Inhalt der Bibliothek seit dem Erzeugen verändert hat, indem der Inhalt der Bibliotheksdateien index.idx und index.md5 neu bestimmt und mit dem restlichen Inhalt der Bibliothek verglichen wird.

logiCAD3c --launcher.ini logiCAD3.ini -application com.logicals.library.lc3lib.application [-noSplash] -libCheck -fullLibraryName <FULL-LIBRARY-NAME> [-checkEmptyWorkspace] -vmargs -Dlog4j.configuration=file:<LOG-CONFIGURATION>

Kombinierter Aufruf

Es ist möglich, die Parameter nach Ihren Wünschen anzuordnen. Am besten verwenden Sie aber die folgende Reihenfolge.

logiCAD3c --launcher.ini logiCAD3.ini -application com.logicals.library.lc3lib.application [-noSplash] -libBuild [<LIBRARY-NAME__VERSION>] -libDeploy [<LIBRARY-NAME__VERSION>] [-libDeployTo <TARGET_FOLDER>] -projectPath <PROJECTPATH> -libraryDefinitionName <LIBCONFIGURATION-NAME> -data <WORKSPACE> -libCheck -fullLibraryName <FULL-LIBRARY-NAME> [-checkEmptyWorkspace] -vmargs -Dlog4j.configuration=file:<LOG-CONFIGURATION>

(warning) Der Aufruf des Werkzeugs wird nicht offiziell für Linux unterstützt. Wenn Sie dennoch versuchen wollen, das Werkzeug unter Linux aufzurufen, ersetzen Sie den Teil logiCAD3c --launcher.ini logiCAD3.ini -application des oben genannten Aufrufs durch logiCAD3 -application. Der restliche Teil des Aufrufs ist identisch mit dem oben genannten Aufruf.

Beschreibung der Parameter:

ParameterBeschreibungBeispiel

[<LIBRARY-NAME__VERSION>]

Bibliothek, die erzeugt oder bereitgestellt werden soll, so wie diese in der Bibliothekskonfiguration deklariert ist (angegeben durch den Parameter libraryDefinitionName <LIBCONFIGURATION-NAME>)
Dieser Parameter ist optional. Falls er nicht angegeben wird, werden alle Bibliotheken, die in der Bibliothekskonfiguration deklariert sind, erzeugt oder bereitgestellt.

(warning) Es ist nur möglich, eine Bibliothek bereitzustellen, falls diese Bibliothek bereits erzeugt (= generiert) wurde. Im Falle eines kombinierten Aufrufs erfolgt das Erzeugen automatisch vor dem Bereitstellen.

MyLibrary__1.1.0

<TARGET_FOLDER>

absoluter Pfad zu einem Ordner, in dem die Bibliothek bereitgestellt werden soll
Dieser Parameter ist optional. Falls er nicht angegeben wird, wird die Bibliothek mit dem Bibliotheksanbieter "Lokales Dateisystem" und dem entsprechenden Pfad bereitgestellt. Der Pfad dieses Bibliotheksanbieters kann in den Benutzervorgaben eingesehen und sogar geändert werden (Menü Fenster, Benutzervorgaben, Gruppe Bibliotheksanbieter, Bibliotheksanbieter). Standardmäßig ist das folgende Unterordner für einen Bibliotheksanbieter vorgegeben.

Bibliotheksanbieter Unterordner
Lokales Dateisystem

Unterordner  logi.cals \ logiCAD3 \Libraries des Windows-Benutzerordners

Aktuelles ProjektUnterordner library-releases des Projekts

C:\LC3Projects\MyProject\target

<FULL-LIBRARY-NAME>

Name (inkl. Pfad und Erweiterung) der Bibliothek, die zu verifizieren ist
Dieser Parameter kann der Standardpfad innerhalb eines logi.CAD 3 -Projekts sein, in dem die Bibliothek bereits erzeugt wurde. Es ist aber auch möglich, einen anderen Pfad anzugeben – in diesem Fall muss der Pfad die Bibliothek enthalten.
Am besten verwenden Sie dieses Werkzeug, um eine Bibliothek mit dem Parameter -libDeployTo <TARGET_FOLDER> bereitzustellen. Verwenden Sie dann dieses Werkzeug auch, um die bereitgestellte Bibliothek zu verifizieren. Im Falle eines kombinierten Aufrufs erfolgt das Bereitstellen automatisch vor dem Verifizieren.

C:\LC3Projects\MyProject\target\MyLibrary__1.1.0.zip

<PROJECTPATH>

absoluter Pfad zum Projekt
Falls das Projekt bereits innerhalb des Arbeitsbereichs existiert (z.B. aufgrund eines früheren automatischen Imports des Projekts), ist es auch möglich, nur den Projektnamen anzugeben.

C:\LC3Projects\MyProject

<LIBCONFIGURATION-NAME>

die Bibliothekskonfiguration, in der die zu erzeugenden oder bereitzustellenden Bibliotheken deklariert sind
Eine Bibliothekskonfiguration wird mit dem Befehl Neu – Bibliothekskonfiguration (Kontextmenü innerhalb des Projektexplorers von logi.CAD 3 ) erzeugt.

(warning) Beachten Sie Folgendes (siehe das Beispiel rechts):

  • Der Name muss mit den korrekten Groß- und Kleinbuchstaben angegeben werden (der Name ist also "case-sensitive").
  • Die Erweiterung .lc3lib der Bibliothekskonfiguration muss dem Namen hinzugefügt werden.
MyLibraries.lc3lib

<WORKSPACE>

absoluter Pfad zu einem Arbeitsbereich, in den das Projekt importiert werden soll
Beachten Sie::

  • Das Verzeichnis des Arbeitsbereichs darf sich nicht innerhalb eines Verzeichnisses befinden, bei dem es sich um ein  logi.CAD 3 -Projekt handelt.
  • Möglicherweise muss dieses Verzeichnis leer sein – dies hängt vom optionalen Parameter -checkEmptyWorkspace ab (siehe Beschreibung dieses Parameters weiter unten).
  • Nach dem Aufruf enthält der Arbeitsbereich einen Verweis auf das  logi.CAD 3 -Projekt. Das bedeutet, dass das logi.CAD 3 -Projekt nicht in den Arbeitsbereich kopiert wurde.
    Dies ist das gleiche Verhalten wie innerhalb der grafischen Benutzeroberfläche von logi.CAD 3 , wenn Sie den Befehl Importieren... und den Importtyp Vorhandene Projekte in den Arbeitsbereich mit der deaktivierten Option Projekte in Arbeitsbereich kopieren verwenden würden.

  • Falls aufgrund eines früheren Imports der Verweis auf das logi.CAD 3 -Projekt bereits im angegebenen Arbeitsbereich vorhanden ist, wird der Import nicht erneut durchgeführt, um die Leistung des Werkzeugs zu verbessern.
     

C:\temp\LC3Workspace

<LOG-CONFIGURATION>

Pfad zur Konfigurationsdatei für das Protokoll
Alle Meldungen des Werkzeugs werden an das Gerät ausgegeben, das in der Konfigurationsdatei für das Protokoll angegeben ist.

C:\LC3LogConfig\log4j.xml

  • Der Parameter -noSplash ist optional. Wird er nicht angegeben, wird der Startbildschirm von logi.CAD 3  nach dem Aufruf angezeigt.
     
  • Der Parameter -checkEmptyWorkspace ist ebenfalls optional. Geben Sie diesen Parameter an, um zu prüfen, ob der angegebene Arbeitsbereich leer ist. Das  logi.CAD 3 -Projekt wird nur importiert, falls der Arbeitsbereich leer ist.
    Beim Standardaufruf (wenn dieser Parameter nicht angegeben wird) wird das  logi.CAD 3 -Projekt immer in den Arbeitsbereich importiert – unabhängig davon, ob der Arbeitsbereich leer ist oder nicht. Ist das  logi.CAD 3 -Projekt bereits im Arbeitsbereich vorhanden, wird das  logi.CAD 3 -Projekt neu importiert.
     
  • Der Parameter -Dlog4j.configuration ist ebenfalls optional. logi.cals  empfiehlt jedoch, diesen Parameter anzugeben, damit Protokoll-Ereignisse ausgegeben werden.
     
Beispiel für kombinierten Aufruf: Alle Bibliotheken einer Bibliothekskonfiguration erzeugen und bereitstellen
logiCAD3c --launcher.ini logiCAD3.ini -application com.logicals.library.lc3lib.application -noSplash -libBuild -libDeploy -projectPath C:\LC3Projects\MyProject -libraryDefinitionName MyLibraries.lc3lib -data C:\temp\LC3Workspace -vmargs -Dlog4j.configuration=file:C:\LC3LogConfig\log4j.xml
Beispiel für kombinierten Aufruf: Eine bestimmte Bibliothek erzeugen, bereitstellen und verifizieren
logiCAD3c --launcher.ini logiCAD3.ini -application com.logicals.library.lc3lib.application -noSplash -libBuild MyLibrary__1.1.0 -libDeploy MyLibrary__1.1.0 -libDeployTo C:\LC3Projects\MyProject\target -projectPath C:\LC3Projects\MyProject -libraryDefinitionName MyLibraries.lc3lib -data C:\temp\LC3Workspace -libCheck -fullLibraryName C:\LC3Projects\MyProject\target\MyLibrary__1.1.0.zip -vmargs -Dlog4j.configuration=file:C:\LC3LogConfig\log4j.xml

Konfigurationsdatei für das Protokoll 

Diese Datei wird zur Konfiguration des log4j-Protokollierungsmechanismus benötigt. Die Datei gibt an, wie Protokoll-Ereignisse ausgegeben werden.

Konfigurationsdatei für das Protokoll (Beispiel)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="false" xmlns:log4j='http://jakarta.apache.org/log4j/'>
 
  <!-- This configuration logs to console. -->
  <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="target" value="System.out"/>
    <param name="immediateFlush" value="true"/>
    <param name="encoding" value="UTF-8"/>
    <param name="threshold" value="info"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p:  %m%n" />
    </layout>
  </appender>

  <!-- This configuration logs to a file, with more information than for the console. -->
  <appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file" value="C:\\temp\\logfile.log" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{HH:mm:ss} %-5p [THREAD ID=%t] [Method:%M] %c{1}:%L - %m%n" />
    </layout>
  </appender>
  <root>
    <level value="INFO" />
    <appender-ref ref="console" />
    <appender-ref ref="file" />
  </root>
</log4j:configuration>

Fehlerbehebung

Die Datei, die in der Konfigurationsdatei für das Protokoll angegeben ist, enthält Informationen über das Erzeugen, Bereitstellen oder Verifizieren. Falls eine dieser Aktionen nicht erfolgreich war, beheben Sie das Problem gemäß der folgenden Tabelle.

Rückgabe-CodeMeldungUrsacheLösung
0Library checksum validation successful (0)

13<keine Meldung>Ein falscher Wert wurde für -application angegeben.Rufen Sie das Werkzeug wie oben angegeben auf.
-1Library manager failed (Parameter Error, -1): NameEin Argument oder Parameter fehlt.Rufen Sie das Werkzeug wie oben angegeben auf.
-2Library manager failed (-2): Project not foundDas angegebene Projekt existiert nicht.

Geben Sie ein vorhandenes Projekt an. Oder rufen Sie das Werkzeug mit dem absoluten Pfad für das Projekt auf.

-6Library manager failed (-6): Workspace not empty

Der Arbeitsbereich enthält bereits Daten (z.B. ein oder mehrere  logi.CAD 3 -Projekte).

Verwenden Sie einen leeren Arbeitsbereich oder entfernen Sie alle vorhandenen Daten aus dem aktuellen Arbeitsbereich.
Alternative: Rufen Sie das Werkzeug ohne den Parameter -checkEmptyWorkspace auf.

-64Library checksum validation failed (-64)Die zu verifizierende Bibliothek ist beschädigt.Rufen Sie das Werkzeug für eine Bibliothek auf, die korrekt erzeugt und bereitgestellt wurde.
-65Library build failed (-65)Die Bibliothek konnte nicht erzeugt werden.

Prüfen Sie, ob zusätzliche Meldungen vorhanden sind, die die Fehlerursache detailliert beschreiben. Abhängig von diesen Details:

  • Öffnen Sie das Projekt in  logi.CAD 3  und beheben Sie die Fehler, die in der Sicht Fehler angezeigt werden.
  • Rufen Sie das Werkzeug wie oben angegeben auf.
-66Library deploy failed (-66)Die Bibliothek konnte nicht bereitgestellt werden.

Prüfen Sie die vorhergehenden Meldungen auf Fehlerursachen. Abhängig von diesen Details:

  • Öffnen Sie das Projekt in  logi.CAD 3  und beheben Sie die Fehler, die in der Sicht Fehler angezeigt werden.
  • Rufen Sie das Werkzeug wie oben angegeben auf. Stellen Sie sicher, dass die Bibliothek bereits erzeugt wurde.
-127Library manager (Details: exception message)Ein unerwarteter Fehler ist aufgetreten.

Kontaktieren Sie  logi.cals .

Die folgenden Meldungen könnten die Fehlerursache detailliert beschreiben, warum die Bibliothek nicht erzeugt werden konnte:

  • Could not find a library with name and version: name
  • Could not find the library definition file: name
  • Model rule checking failed
    (info) Sie können das Werkzeug zur automatisierten Regelprüfung vor dem Erzeugen der Bibliothek verwenden, um zu sicherzustellen, dass die Bibliotheksobjekte keine der Regeln verletzen.