2016-11-24 10 views
0

у меня есть это в моей работе потокXText: DSL Wizard - Создание проекта Java, но не в качестве плагина в

fragment = ui.projectWizard.SimpleProjectWizardFragment2 { 
     generate = true 
    } 

который позволяет мастер DSL, но проекты, которые создаются с помощью мастеров являются подключаемых проектов.

Если добавить следующий флаг

pluginProject = false 

Проекты не плагин (что хорошо), но я не могу добавлять классы Java.

Как я могу заставить мастера создать проект, который поддерживает файлы .dsl и .java, не создавая для него проект плагина?

Спасибо.

ответ

1

Как насчет простой настройки материала, созданного рабочим процессом ???

class MyDslProjectCreatorCustom extends MyDslProjectCreator { 

    override protected getBuilders() { 
     #[XtextProjectHelper.BUILDER_ID, "org.eclipse.jdt.core.javabuilder"] 
    } 

    override protected getProjectNatures() { 
     #[XtextProjectHelper.NATURE_ID, "org.eclipse.jdt.core.javanature"] 
    } 

} 

и

@FinalFieldsConstructor 
class MyDslUiModule extends AbstractMyDslUiModule { 

    def Class<? extends ProjectFactory> bindProjectFactory() { 
     JavaProjectFactory  
    } 

    override bindIProjectCreator() { 
     MyDslProjectCreatorCustom 
    } 

}