Nouveautés de MPS 2018.2

Tests de générateur

En complément de la gamme de tests des nœuds et de l'éditeur, nous avons implémenté une nouvelle façon de tester les générateurs. L'iobjectif est de s'assurer qu'un générateur, ou un ensemble de générateurs, remplisse bien sa fonction. Les modes d'exécution à l'intérieur et en dehors des processus, ainsi que l'exécution depuis les scripts de build MPS Ant, sont pris en charge depuis l'IDE.

Fork dans les plans de génération

Une nouvelle instruction a été ajoutée dans les plans de génération : une bifurcation vers un autre plan de génération pour aiguiller la séquence de transformation à un certain endroit. Le plan référencé reçoit un modèle dans l'état où il était au niveau de la bifurcation et procède comme une transformation standard. Dans l'exemple, nous transformons tout d'abord le modèle d'entrée avec le générateur crossmodel.entity et enregistrons l'état, puis poursuivons avec le générateur crossmodel.property#prop2class pour finalement obtenir le modèle de sortie #1. Ensuite, le générateur crossmodel.property#prop2xml transforme le modèle enregistré pour obtenir le modèle de sortie #2. Notez qu'il n'est pas garanti que les branches soient traitées selon un ordre spécifique, à l'exception de la branche "principale", celle qui provient du plan d'origine, qui donne le "premier et unique" modèle de sortie disponible dans l'ancienne API (GenerationStatus#getOutputModel) pour des raisons de compatibilité/migration.

Fork des tests de génération

Les tests du générateur prennent en charge les plans de génération avec une instruction fork et mettent tous les modèles de sortie en correspondance avec les modèles de référence qui ont été fournis.

Nouvel aspect du VCS

Nous avons introduit un nouvel aspect dans le langage VCS. Au lieu d'écrire des annotations dans la déclaration du concept, vous devez désormais créer un aspect du langage pour cela. L'aspect est généré pour un code d'exécution spécifique. L'aspect VCS a remplacé l'annotation MergeHints et la migration est incluse.

Plugin GitHub

Le plugin GitHub a été implémenté. Vous pouvez vous connecter depuis VCS -> Checkout from Version Control -> Git -> Log in to GitHub...

Notifications de migration

Nous avons implémenté des notifications de migration pour mieux expliquer ce qui se produit : vous recevrez désormais une notification si un projet dépend d'un langage qui n'a pas pu être chargé pour une raison ou une autre, ou lorsque la migration est repoussée.