Ich habe heute Verison 0.3.6 von JML veröffentlicht. Seit Version 0.3.4 wurden einige Fehler behoben, aber auch eine neue Funktion ergänzt. Mit der aktuellen Verison können auch die Inhalte eines Lösungs-Tags in Aufgaben-Versionen aufgenommen werden.

//ml* >=2
// Dieser Kommentar erscheint nur in der Musterlösung und in Versionen größer 1
//*ml

Mithilfe dieser Funktion lässt sich in manchen Fällen der redundante Code reduzieren. Vor allem, wenn eigentlich gar keine Musterlösung nötig ist, und nur verschiedene Ausbaustufen eines Projektes erstellt werden sollen. Dann bietet sich auch der Aufruf von jml der --no-ml Option an.

Diese Klasse würde dann vier Versionen erzeugen, die jeweils eine Methode mehr enthalten.

public class Rechner {
    //ml* >2
    public static int add(int a, int b) {
        return a+b;
    }
    //ml*

    //ml* >3
    public static int add(int a, int b, int c) {
        return add(add(a,b), c);
    }
    //ml*

    //ml* 4
    public static int mul(int a, int b, int c, int d) {
        return add(add(a,b), add(c,d));
    }
    //ml*
}

Änderungen seit Version 0.3.4

## [0.3.6] - 2022-03-05
### Fixed
- Fehler bei der Behandlung der Option `keep empty files` / `--delete-empty` behoben, der alle Dateien fälschlich als leer markiert hat.

## [0.3.5] - 2022-03-04
### Added
- ML-Tags können nun um eine Versionsnummer ergänzt werden, um den Inhalt auch in Versionen aufzunehmen. `//ml* >2` würde den Inhalt in `//*ml` die Musterlösung und alle Versionen größer `2` aufnehmen.

### Fixed
- Mit `--debug` wird die geladene Konfiguration wieder korrekt angezeigt.