在项目的build.gradle中,我有很多任务,现在我正在构建一个新任务,它将获取与声纳覆盖报告等项目相关的数据,创建报告并将其上传到汇合处。
使用markdown-confluence-gradle-plugin实现名为confluence的任务:0.6 the implementation of the plugin can be found here工作正常,将数据上传到汇合处。
现在获取数据,例如从声纳服务器测试覆盖范围,我正在编写一个功能,它将击中声纳服务器并获取数字并返回到任务汇合中的变量(在第1点中提到,函数的调用者)。
def func1(){
// call to a sonar server
}
问题是当我在intellij中构建项目时,它尝试在函数中执行代码,因此请求声纳服务器。我想要实现的是在构建项目时不应该执行函数代码。但那时我明确地将任务合并称为运行。
为什么代码在构建应用程序时执行,即使我没有调用它来执行。它只是在build.gradle中定义的
我尝试使用doLast和finalizedBy进行汇合任务,但它并没有为此任务工作。可以在问题上方的上述位置找到pugin的实现。
答案 0 :(得分:0)
如果我理解正确,您希望将您的任务排除在构建时间内运行,只有在您点击它时才会运行?
如果是这种情况,您可以使用
gradlew build -x yourTaskName
从命令行(在Windows上)
或包括
yourTaskName.enabled = false
在你的应用程序级build.gradle中。
希望这可以帮助。