2015-04-30 3 views
5

В настоящее время я использую JavaCC (с плагином JavaCC gradle от here), чтобы сгенерировать часть моего исходного кода. Остальная часть проекта зависит от этого кода. Если я импортирую проект в IDEA или очистку проекта, тогда я получу ошибки, потому что классы не найдены. Однако строительство проекта действительно работает.Как интегрировать сгенерированные источники в IntelliJ IDEA при использовании Gradle?

Возможно ли изменить файл градиента, чтобы IntelliJ (и, возможно, другие редакторы тоже знали), чтобы генерировать эти источники перед анализом кода?

сгенерированный код сохраняется в SRC/GEN/Java/ и местоположение генерируемого кода возвещен через:

sourceSets { 
    gen { 
     java { 
      srcDir 'src/gen/java' 
     } 
    } 
} 

С IntelliJ строит проект, я думал, самый простой способ будет иметь было сделать:

compileJava.dependsOn <generateSourcesTask> 

Но добавив, что в Gradle файл не имеет эффекта (возможно потому, что плагин JavaCC делает это уже).

+0

Вы должны выполнить задачу для плагина JavaCC делать свою работу? Если да, не можете ли вы добавить это как зависимость для compileJava? – tddmonkey

+0

По анализу, вы имеете в виду контрольные проверки? – fge

+0

@fge Я имею в виду автоматический осмотр при открытии java-файла, например – TenPlusFive

ответ

1

Вы пытались добавить источник сгенерированных источников в основной? Как это:

sourceSets { 
    main { 
     java { 
      srcDirs = ["src/main/java", "src/gen/java"] 
     } 
    } 
} 

Это работает для меня:

compileJava.dependsOn('generateSourcesTask') 
+0

В чем смысл добавления нового источникаСеть (сгенерированного) в этом случае? –

+1

, чтобы сделать intellij идею посмотреть –

+0

Но это плохое решение для адаптации нашего кода к IDE. Разве это не должно быть «умным»? :) –

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