LFET.Project.yaml

LFET.Project.yaml und Project.yaml sind alternative Namen für die Datei Pro­ject.ini und ermöglichen anstelle des klassischen Property-Formates (Schlüssel=Wert) die Verwendung der leichtgewichtigen Auszeichnungssprache YAML.

Beispiel für einen Eintrag in einer LFET.Pro­ject.ini-Datei:
BackupHistoryFolder = backups
BackupHistoryLength = 50
Beispiel für einen Eintrag in einer LFET.Project.yaml-Datei:
 LFET:

   BackupHistory:
     Folder: backups
     Length: 50
oder:
 LFET:

   Backup:
     History:
       Folder: backups
       Length: 50

 

Hinweise zu LFET.Project.yaml-Dateien:

  • Das "Wurzel-Element" in der YAML-Datei muss LFET oder LFET.Pro­ject.ini heißen

  • Die Groß-/Kleinschreibung ist bei den Schlüssel­namen ohne Bedeutung, ebenso die Verwendung von Punkten zur Wort-Trennung

  • Zur Einrückung dürfen nur Leerzeichen verwendet werden

Bildung der Schlüssel­namen

Der finale Name jedes Schlüssels wird intern durch Zusammensetzung aller Schlüssel­namen ab der zweiten Ebene, je­weils durch einen Punkt getrennt, gebildet

Die YAML-Notation
 LFET:

   BackupHistory:
     Folder: backups

wird intern zu: BackupHistory.Folder = backups

Die YAML-Notation
LFET:

  Backup:
    History:
       Folder: backups

wird intern zu: Backup.History.Folder = backups

Für LF‑ET ist die Wort-Trennung durch Punkte bei der Schlüsselerkennung ohne Bedeutung, daher sind die INI-Dateien und insbesondere auch die YAML-Dateien sehr flexibel und tole­rant bezüglich der verwendeten Ausdrücke und Strukturen.

Hochkommas

Bei einigen Gene­rie­rungs­para­me­tern können doppelte Hochkommas gezielt verwendet werden, z.B. um die Suche nach INI-Dateien oder die Gene­rie­rung einer Package-Angabe zu unterdrücken:

LFET.Pro­ject.ini:

ide.Java = true
ide.Java.Package = ""

Damit bei YAML Hochkommas selbst als Wert erfasst werden, müssen doppelte Hochkommas in einfache Hochkommas (oder umgekehrt) eingeschlossen werden:

LFET:

  ide.Java:
    Enabled: true
      Package: '""'

TRUE/FALSE-Schlüssel mit weiteren Unter-Schlüsseln

Bei True/False-Schlüsseln, die gleich­zeitig selbst wieder Präfix weiterer Schlüssel sind, muss bei YAML der True- oder False-Wert mit dem Schlüsselwort Enabled: ange­ge­ben werden, hier ein Beispiel:

LFET.Pro­ject.ini

ide.Java = true
ide.Java.SourceEncoding = UTF-8
ide.Java.SourcePath = ${project.root}/../../java/${package}

LFET.Project.yaml

LFET:

  ide.Java:
    Enabled: true
    Source:
      Encoding: UTF-8
      Path: ${project.root}/../../java/${package}

Aufzählungen

YAML ermöglicht die Verwendung von Aufzählungen, Hier ein Beispiel:

LFET:

  ide.Java:
    Enabled: true
    Interface:
      RulesClass:
        Annotation:
        - javax.annotation.processing.Generated("LF‑ET")
        - org.springframework.stereotype.Component,lombok.RequiredArgsConstructor

Mehrzeilige Schlüsselwerte

Bei YAML können Werte auch mehrzeilig sein:

LFET:

  Schlüssel.Name: |
    Schlüssel-Wert erste Zeile
    Schlüssel-Wert zweite Zeile