Я хотел бы знать, есть ли способ организовать несколько DSL внутри одного проекта Eclipse. В частности, я хотел бы организовать все пять проектов Xtext DSL в какой-то топ-уровневой папке проекта.Несколько XSL-DSL в одном проекте Eclipse
Фон состоит в том, что мы управляем сложностью и включаем повторное использование путем создания меньших многоразовых DSL, например. один многоразовый для выражений и другой для более специфичных для домена или специфических для приложения аспектов. Тем не менее, каждый Xtext DSL приводит к 5 проектам, что вызывает много помех в Проводнике пакетов, когда задействованы несколько DSL. Сильно связанные вопрос был задан до:
Xtext: define 2 DSL's in one project
Ответ на этот вопрос есть, что несколько DSL, не нужны в проекте для этого конкретного сценария использования. Мой вариант использования отличается от того, что я хочу иметь возможность легко просматривать разные DSL и потенциально совместно развивать их.
Мы используем Xtext в среде, управляемой Gradle. Мы используем плагин Gradle Eclipse, который создает множество файлов проекта Eclipse во всем мире. В результате при выборе «Открыть проект из файловой системы» в Eclipse я не только получаю возможность импортировать пять проектов, связанных с DSL, но также и возможность открыть родительскую папку в качестве проекта. Это означает, что я могу иметь каждый DSL (все его пять проектов), аккуратно организованный в «папке проекта». Это именно то, что я хочу! ...
НО ...
это фактически не работает. На приведенном ниже рисунке показан мой пакетный исследователь с пятью проектами моего ExperimentDSL, включенными в нижнюю часть. Этот DSL работает. В верхней части это показывает структуру папок, которую я получаю, когда включаю файл проекта, созданный Gradle, в результате появляется «папка проекта», которая потенциально может содержать несколько DSL.
Как вы можете видеть, GenerateExperimentDSL помечен красным цветом и отказывается работать. Кажется, Eclipse каким-то образом рассматривает его как проект Java, но я не знаю, как это изменить или, если это поможет решить мою проблему. Во-вторых, я не знаю, как настроить такой проект вручную, так как файл проекта в этом неудачном случае был создан Gradle.
Короче говоря, кто-нибудь знает, как заставить такую структуру папок работать, чтобы я мог хранить все свои DSL в рабочем пространстве без помех?
Похоже, вы пытаетесь запустить рабочий процесс из родительского проекта, но вы должны запустить его из проекта dsl. Рекомендуем установить градирную конструкцию в eclipse, чтобы получить надлежащую поддержку для проектов gradle. –
У меня есть Gradle Buildship, установленный в Eclipse, и у нас есть задачи по управлению частями нашего проекта, но не Xtext. Причина, по которой я упомянул Gradle, заключается лишь в том, чтобы предоставить некоторые сведения о том, как я открыл организацию, которую я хотел, хотя она не работает. В настоящее время я пытаюсь запустить рабочий процесс, просто щелкнув правой кнопкой мыши GenerateExperimentDSL.mwe2 и «Запускаем как рабочий процесс MWE2». Вы упомянули, что это означает, что я запускаю его из родительского проекта. В любом случае я могу вручную настроить структуру, которую я хочу вручную, и заставить ее работать, запустив ее из Eclipse? –
Это то, что я имел в виду, должен был сделать это, чтобы сделать это –