2016-11-24 8 views
0

J'ai dans mon flux de travailXtext: DSL Assistant - Création d'un projet Java, mais pas en tant que plug-in

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

qui permet à un assistant DSL, mais les projets qui sont créés avec l'assistant sont projets plug-in.

Si j'ajoute le drapeau suivant

pluginProject = false 

Les projets ne sont pas plug-in (ce qui est bon), mais je ne peux pas ajouter des classes Java.

Comment puis-je demander à l'assistant de créer un projet qui prend en charge les fichiers .dsl et les fichiers .java sans en faire un projet plug-in?

Merci.

Répondre

1

Que diriez-vous simplement de personnaliser les choses créées par le flux de travail ???

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"] 
    } 

} 

et

@FinalFieldsConstructor 
class MyDslUiModule extends AbstractMyDslUiModule { 

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

    override bindIProjectCreator() { 
     MyDslProjectCreatorCustom 
    } 

}