【问题标题】:Excluding files in a Gradle multi-project in Intellij在 Intellij 的 Gradle 多项目中排除文件
【发布时间】:2016-06-23 19:09:22
【问题描述】:

我有一个简单的多项目 gradle 构建文件,用作 Intellij 项目的基础,我想从构建中排除一些文件,所以我在编译任务中使用“排除”(我刚刚复制粘贴),如清单所示。

这似乎在命令行中工作,但在 Intellij 中不起作用,即排除的文件仍然包含在编译中。

有什么建议吗? (Gradle 2.10,Intellij 15.0.3)

subprojects {
    apply plugin: 'groovy'
    apply plugin: 'application'
    apply plugin: 'idea'

    repositories {
        mavenCentral()
    }

    dependencies {
        compile 'org.codehaus.groovy:groovy-all:2.4.5'
        testCompile 'org.spockframework:spock-core:1.0-groovy-2.4'
    }
}

project(':projfoo') {
    group = 'com.bshishani.projfoo'
}

project(':projbar') {
    group = 'com.bshishani.projbar'
    dependencies {
        compile project(':projfoo')
        testCompile project(':projfoo')
    }

    compileGroovy {
        excludes = ['**/aaa.groovy', '**/bbb.groovy']
    }
}

【问题讨论】:

    标签: intellij-idea gradle groovy build


    【解决方案1】:

    您可以通过配置idea 插件以编程方式从 IntelliJ 项目中排除目录:

    例如:

    idea {
      module {
        excludeDirs += [file("myproject/dir")]
      }
    }
    

    我不确定如何从 IntelliJ 的编译中排除文件(或 glob)。如果这不可能,最好将所有“特殊”源移动到它们自己的目录中。

    更多关于IntelliJ Module config with Gradle的信息

    【讨论】:

    • 这在功能上仍然不同于“将目录标记为 -> 已排除”选项。内容不会参与编译,但会与搜索/替换等 IDE 功能交互
    【解决方案2】:

    要将源中的文件夹标记为从 IDEA 编译器中排除,您必须首先右键单击项目视图中的文件夹。

    右键文件夹>标记目录为>排除

    【讨论】:

    • 谢谢。这是一个 Gradle 项目,因此希望能够通过更改 Gradle 构建文件来控制 Intellij 行为。
    猜你喜欢
    • 2014-12-24
    • 2013-11-04
    • 1970-01-01
    • 2017-08-17
    • 2014-05-19
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多