2016-11-24 2 views
0

Ich habe dies in meiner ArbeitXtext: DSL-Assistent - Erstellen Sie ein Java-Projekt, aber nicht als Plug-in

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

fließen, die einen DSL-Assistent ermöglicht es, aber die Projekte, die mit dem Assistenten erstellt werden, sind Plug-in-Projekte.

Wenn ich das folgende Flag

pluginProject = false 

Die Projekte sind nicht Plug-in hinzufügen (was gut ist), aber ich kann nicht Java-Klassen hinzufügen.

Wie kann ich den Assistenten zum Erstellen eines Projekts erstellen, das sowohl .dsl-Dateien als auch .java-Dateien unterstützt, ohne ein Plug-in-Projekt zu erstellen?

Danke.

Antwort

1

Wie wäre es, einfach die Sachen, die durch den Workflow erstellt werden, anzupassen?

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

} 

und

@FinalFieldsConstructor 
class MyDslUiModule extends AbstractMyDslUiModule { 

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

    override bindIProjectCreator() { 
     MyDslProjectCreatorCustom 
    } 

} 
Verwandte Themen