我遇到了一些关于为我的dsl语言创建新项目向导的信息,并通过添加
成功创建了这个向导 fragment = ui.projectWizard.SimpleProjectWizardFragment2 {
generate = true
}
到我的工作流程。
但是,使用向导时,它还会创建不必要的文件和文件夹,例如build.properties
,META-INF
,src
,src-gen
,JRE System Library
。
基本上我只想要一个与我的DSL相关联的空项目。
我通过调用
成功删除了META-INF
和build.properties
try {
project.getFile("build.properties").delete(true, null);
project.getFolder("META-INF").delete(true, null);
} catch (CoreException e) {}
从我自定义enhanceProject(..)
{扩展DSLProjectCreator2
)DSLProjectCreator
的末尾开始。
但如果我使用这种方式删除src
和src-gen
,我会收到错误标记,表示src
和src-gen
丢失了(但是#39;解决删除JRE System Library
)。
我该如何解决这个问题?
答案 0 :(得分:1)
啊,你启用向导的方式有点奇怪
newProjectWizardForEclipse = {
pluginProject = false
generate = true
}
如何不创建文件夹而不是删除它们。
class MyDslNewProjectWizardInitialContents {
@Inject
FileExtensionProvider fileExtensionProvider
def generateInitialContents(IFileSystemAccess2 fsa) {
fsa.generateFile(
"Model." + fileExtensionProvider.primaryFileExtension,
'''
/*
* This is an example model
*/
Hello Xtext!
'''
)
}
}
public class MyDslProjectCreatorCustom extends MyDslProjectCreator {
@Override
protected List<String> getAllFolders() {
return Collections.emptyList();
}
}
我不知道你为什么要创建一个java项目。你使用xbase吗?哪个项目工厂受到约束?
生成的MyDslProjectCreator如何? 它使用JavaProjectFactory或PluginProjectFactory