如何组合不同任务的相同代码

时间:2015-10-09 06:59:49

标签: gradle task build.gradle

此问题与Apply same configurations to different tasks

有关

在gradle中,我有这样的配置:

idea {
    module {
        excludeDirs -= file("$buildDir/")
        sourceDirs += file(generatedSrcDir)
    } 
}

我有另一个用于eclipse的相同代码。

问题:

idea, eclipse {
    module {
        excludeDirs -= file("$buildDir/")
        sourceDirs += file(generatedSrcDir)
    }
}

这可能吗?

1 个答案:

答案 0 :(得分:1)

您需要做的事情如下:

apply plugin: 'idea'
apply plugin: 'eclipse'

ext.generatedSrcDir = project.file('.')

[idea, eclipse].each {
    configure(it) {
        module {
            excludeDirs -= file("$buildDir/")
            sourceDirs += file(generatedSrcDir)
        }
    }
}

但由于eclipse扩展程序未公开module方法/字段,因此无效。很遗憾,您需要分别配置ideaeclipseHere是关于为eclipse配置其他源文件夹的问题。