Генерация Java-кода с использованием Xtend и Sirius - PullRequest
0 голосов
/ 06 июня 2018

Итак, моя цель - создать графический DSL.Я создал модель ecore с использованием Eclipse Modeling Framework, после чего я использовал Sirius для создания инструмента графического моделирования, и у меня возникли проблемы с последним этапом - генерацией кода Java.Я хотел бы использовать Xtend для его генерации.Любые предложения, что было бы лучшим способом сделать это, или некоторые полезные ссылки?

1 Ответ

0 голосов
/ 06 июня 2018

Существует два аспекта:

  1. сам генератор Xtend, который может быть разработан и испытан независимо от Сириуса.Он будет принимать в качестве входных данных ваши файлы / модели DSL (а не файлы .aird или .odesign от Sirius) и производить все, что вы хотите.Я не могу помочь в этом аспекте.
  2. интеграция поколения с разработчиком моделей на основе Sirius.

Если вы знаете, как программно вызывать генератор Xtend, есть несколько способовчтобы вызвать его изнутри Сириуса.Например, вы можете использовать инструмент типа Popup Menu , чтобы добавить запись в контекстное меню вашего разработчика моделей, которая затем может вызвать любой код Java и запустить его оттуда.

Это то, что Ecore Tools делает для запуска кода EMF GenModel gen: объявляет всплывающее меню , которое вызывает этот класс Java для выполнения фактической генерации.

...