Skip to main content

Bibliotheksrepository

Mit der Installation von CODESYS 4 wird eine Vielzahl von Extensions installiert. Dabei kann jede Extension ein Bibliotheksrepository beinhalten. Diese Bibliotheksrepositorys sind automatisch aktiv und verfügbar. Sie müssen nicht in die Datei LibraryRepositories.prefs.json eingetragen werden.

Anlegen eigener Bibliotheksrepositorys

CODESYS 4 bietet die Möglichkeit, beliebig viele eigene Bibliotheksrepositorys anzulegen. 

Die Konfiguration der benutzerdefinierten Repositorys erfolgt über die Datei LibraryRepositories.prefs.json. Unter Linux befindet sich diese Datei unter ~/.config/CODESYS-4/LibraryRepositories.prefs.json. Unter Windows unter %APPDATA%\CODESYS-4\LibraryRepositories.prefs.json. Das Format der Repository-Konfiguration wird vom Deploymentserver definiert.

Beispiel 8. Beispiel für LibraryRepositories.prefs.json
{
  "storages": [
    {
      "name": "LocalStorage",
      "kind": "FileSystem",
      "rootDirectory": "D:\\GoLibRepo"
    }
  ],
  "c4LibraryRepositories": [
    { "name": "LocalRepository",
      "isPublic": true,
      "kind": "Local",
      "storage": "LocalStorage"
    }
  ]
}


Für weitere Informationen siehe Libraries.json und Bibliotheken auflösen, Alle Bibliotheken auflösen

Bibliotheken - Ablageformat auf Festplatte

Bibliotheksrepositorys werden über die Infrastruktur des Deploymentservers verwaltet, wobei das lokale Speichermodul für lokale Repositorys verwendet wird. Das Format auf der Festplatte wird somit kanonisch vom Deploymentserver definiert, ist jedoch einfach und wird der Vollständigkeit halber hier wiedergegeben.

Die Ordnerhierarchie innerhalb des Repositorys ist nach dem folgenden Format strukturiert: Company/Title/Version/FileName.Suffix

Company

Der Eintrag Firma aus der Projektinformation

  • Führende und nachfolgende Leerzeichen werden entfernt.

  • Die Trennzeichen , ( und ) sind nicht erlaubt.

  • Einige Sonderzeichen, darunter Steuerzeichen, werden mit der Objektmodellcodierung codiert.

    Bestimmte Sonderzeichen, insbesondere nicht druckbare Steuerzeichen, werden nicht direkt gespeichert, sondern durch eine spezielle Zeichenfolge des Objektmodells dargestellt.

Title

Der Eintrag Titel aus der Projektinformation

  • Führende und nachfolgende Leerzeichen werden entfernt.

  • Die Trennzeichen , ( und ) sind nicht erlaubt.

  • Einige Sonderzeichen, darunter Steuerzeichen, werden mit der Objektmodellcodierung codiert.

Version

Der Eintrag Version aus der Projektinformation

  • Dies muss eine gültige SemVerQuattro-Kennung sein.

  • Vorabversionsbezeichnungen sind Teil der Version. Build-Metadaten sind dies nicht (da sie nicht Teil der Identität sind).

  • Der vierte numerische Teil der Version wird nur geschrieben, wenn er nicht 0 ist.

FileName

Identisch zu Titel

Suffix

Eines der 4 zulässigen Suffixe:

  • .compiled-library

  • .compiled-library-ge33

  • .compiled-library-v3

  • .fbslibpack

Dieses Format ermöglicht das einfache Auffinden einer bestimmten Bibliothek sowie das Durchsuchen aller verfügbaren Versionen einer Bibliothek ohne Indexdateien.

Einfache Konfiguration

Ein lokales Repository geben Sie im Abschnitt localRepositories als Paar "Name": "Pfad" an. Beim ersten Start wird ein Repository mit dem Namen Default angelegt.

Beispiel 9. Beispiel für Abschnitt localRepositories
{  
    "localRepositories": {
        "AllLibs": "D:\\C4LibRepo",
        "Default": "C:\\Users\\h.mustermann\\AppData\\Local\\CODESYS-4\\managed-libraries"
    }
}
...


Überlagern und Unterdrücken

Die benutzerspezifische Ebene erbt die Definitionen der systemweiten Ebene und der Extensionen. Über den Optionsdienst überlagern Sie diese Definitionen.

  • Erben: Ohne besondere Angabe gelten die geerbten Definitionen unverändert weiter.

  • Ergänzen: Ein Abschnittsname mit vorangestelltem + erweitert die geerbte Liste, statt sie zu ersetzen, etwa "+storages".

  • Unterdrücken: Der Wert null ohne Anführungszeichen unterdrückt eine geerbte Definition. So schalten Sie ein geerbtes Repository oder das Default-Repository ab.

Beispiel 10. Beispiel 
{  
    "localRepositories": {
        "AllLibs": "/home/mustermann/allLibs",    
        "_Extension_ExampleExtension_1.2.3.4": null  
    }
}
...

Im Beispiel wird das Repository AllLibs definiert und die von der Extension ExampleExtension in Version 1.2.3.4 bereitgestellten Bibliotheken werden unterdrückt.



Für weitere Informationen siehe: Wiederherstellen und Bibliotheks-Cache, Bibliotheksabhängigkeiten auflösen