Das ist neu in MPS 2018.2

Generatortests

Zusätzlich zu der bestehenden Familie von Knoten- und Editor-Tests haben wir eine neue Möglichkeit zum Testen von Generatoren implementiert. Das Ziel besteht darin, sicherzustellen, dass ein Generator oder eine Gruppe von Generatoren ordnungsgemäß arbeiten. Sowohl In-Process- als auch Out-of-Process-Ausführungsmodi werden von der IDE unterstützt, ebenso die Ausführung von MPS-Ant-Build-Skripten.

Fork in Generierungsplänen

In Generierungsplänen gibt es eine neue Anweisung: fork mit einem anderen Generierungsplan, um die Transformationssequenz an einem bestimmten Punkt zu verzweigen. Der Plan, auf den verwiesen wird, erhält ein Modell in dem Zustand, in dem es sich im Fork-Schritt befunden hat, und wird als reguläre Transformation fortgesetzt. Im Beispiel transformieren wir zuerst das Eingabemodell mit dem Generator crossmodel.entity und speichern den Status. Anschließend fahren wir mit dem Generator crossmodel.property#prop2class fort, um schließlich das Ausgabemodell #1 zu erhalten. Dann transformiert der Generator crossmodel.property#prop2xml das gespeicherte Modell, um das Ausgabemodell #2 zu erhalten. Beachten Sie, dass „Dann“ hier keine verbindliche Vereinbarung darstellt – es ist nicht gewährleistet, dass Branches in einer bestimmten Reihenfolge verarbeitet werden, außer dass der „primäre" Branch, der aus dem ursprünglichen Plan stammt, das „erste und einzige“ Ausgabemodell bereitstellt, das über die alte API (GenerationStatus#getOutputModel) für Kompatibilitäts- und Migrationszwecke verfügbar ist.

Fork in Generierungstests

Generatortests unterstützen Generierungspläne mit Fork-Anweisung und gleichen alle Ausgabemodelle mit den bereitgestellten Referenzmodellen ab.

Neuer VCS-Aspekt

Wir haben einen neuen VCS-Sprachaspekt eingeführt. Statt die Konzeptdeklaration mit Annotations zu versehen, wird jetzt ein Sprachaspekt dafür angelegt. Der Aspekt wird zu einem bestimmten Laufzeitcode generiert. Der VCS-Aspekt hat die Annotation MergeHints ersetzt und eine Migration ist enthalten.

GitHub-Plugin

Das GitHub-Plugin ist nun implementiert. Die Anmeldung erfolgt über VCS -> Checkout from Version Control -> Git -> Log in to GitHub...

Migrationsbenachrichtigungen

Wir haben Migrationsbenachrichtigungen implementiert, um Sie besser über die Vorgänge auf dem Laufenden zu halten: Jetzt erhalten Sie eine Benachrichtigung, wenn ein Projekt von einer Sprache abhängt, die aus irgendeinem Grund nicht geladen werden konnte, oder wenn die Migration verschoben wird.