+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

JetBrains анонсував нову версію MPS 2018.2 – системи метапрограмування, розробленої JetBrains

JetBrains анонсував нову версію MPS 2018.2 - системи метапрограмування, розробленої JetBrains

Вийшла нова версія MPS 2018.2 з багатьма довгоочікуваними змінами. У релізі на вас чекають поліпшення міграції, нові генераційні плани, GitHub-плагін і не тільки.

Повідомлення про міграцію

Реалізовано повідомлення про міграцію, щоб краще інформувати вас про те, що відбувається: тепер ви будете отримувати повідомлення, якщо проект залежить від мови, яка по будь-якій причині неможливо завантажити, або якщо міграцію відкладено.

Новий аспект VCS

Додано новий аспект мови VCS. Тепер замість створення анотацій до оголошення концепції створюється аспект мови. Аспект генерується для конкретного коду виконання середовища. Аспект VCS замінює собою інструкцію MergeHints, надається міграція.

Плагін GitHub

Реалізовано плагін GitHub. Тепер у GitHub можна увійти так: VCS → Checkout from Version Control → Git → Log in to GitHub

Тести генераторів

На додаток до існуючого сімейства тестів для вузлів та редактора реалізовано новий спосіб тестування генераторів. Завдання у тому, щоб підтвердити, що генератор чи набір генераторів справді виконують свою роботу. В IDE підтримуються режими виконання як усередині процесу, так і поза процесом, а також виконання зі скриптів збирання MPS Ant.

Розгалуження у планах генерації

У планах генерації з'явився новий оператор: fork with . Він розгалужує послідовність перетворень у заданій точці. Зазначеному плану передається модель в тому стані, в якому вона знаходилася на кроці розгалуження, потім перетворення виконується як зазвичай. У наведеному прикладі спочатку виконується перетворення вхідної моделі генератором crossmodel.entity і записується стан, потім за допомогою генератора crossmodel.property#prop2class в результаті виходить модель №1. Потім генератор crossmodel.property#prop2xml перетворює записану модель у вихідну модель №2. Зверніть увагу, що слово "потім" тут не означає зобов'язання - немає гарантій, що гілки будуть оброблені в якомусь визначеному порядку, за винятком того, що "основна" гілка з початкового плану виробить "першу і єдину" вихідну модель, доступну через старий API (GenerationStatus#getOutputModel) для сумісності/міграції.

Інші новини

Найкраща ціна