2016-10-19 14 views
1

я наткнулся на некоторую информацию о создании нового мастера проекта для моего языка DSL, и им удалось создать такой мастер, добавивXText: мастера создания проекта для 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 отсутствуют (однако это не решит удаления JRE System Library).

Как я могу это решить?

+0

Какую версию XText вы используете –

+0

Я использую XText 2,10 –

ответ

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

+0

Использование 'pluginProject = false' и' защищенные Список getAllFolders() { возвращение Collections.emptyList(); } 'абсолютно решил мою проблему. Благодаря! –

 Смежные вопросы

  • Нет связанных вопросов^_^