Подтвердить что ты не робот

Как указать IntelliJ Исключить каталоги с помощью Gradle?

Используя IntelliJ для открытия файла build.gradle, в окне "Импорт проекта из Gradle" "Исключенные корни" предварительно заполнены каталогами .gradle и build.

Как указать, какие каталоги должны быть исключены (или не исключены) в файле build.gradle?

В частности, я использую плагин буфера протокола, который помещает сгенерированные источники в каталог /build/generated-sources/. Если каталог build исключен, тогда мой исходный класс не видит сгенерированные классы.

Подробности: IntelliJ 12.1.3, Gradle 1.4

4b9b3361

Ответ 1

Как показано в Gradle Справочник по языку сборки, вы можете настроить свойство idea.module.excludeDirs, имеющее тип List<File>. По-видимому, IDEA не поддерживает включение подкаталогов исключенных каталогов, поэтому вам придется исключить всех братьев и сестер build/generated-sources. Например:

idea {
    module {
        excludeDirs = [file(".gradle")]
        ["classes", "docs", "dependency-cache", "libs", "reports", "resources", "test-results", "tmp"].each {
            excludeDirs << file("$buildDir/$it")
        }
    }
}

Если поддерживается плагином Protocol Buffer, может быть проще помещать созданные источники в место вне build и сделать это место известным для задачи clean (например, clean.delete "generated-sources").

Ответ 2

Другое решение. Работает с Idea 13.

idea.module {
     excludeDirs -= file(buildDir) //1
     buildDir.listFiles({d,f->f != 'generated-sources'} as FilenameFilter).each {excludeDirs += it}} //2
  • Удалите buildDir из excludeDirs.
  • Исключить каждого дочернего элемента buildDir (кроме generating-source).