限制函数gradle

时间:2018-01-29 11:14:27

标签: gradle build.gradle gradlew

在项目的build.gradle中,我有很多任务,现在我正在构建一个新任务,它将获取与声纳覆盖报告等项目相关的数据,创建报告并将其上传到汇合处。

  1. 使用markdown-confluence-gradle-plugin实现名为confluence的任务:0.6 the implementation of the plugin can be found here工作正常,将数据上传到汇合处。

  2. 现在获取数据,例如从声纳服务器测试覆盖范围,我正在编写一个功能,它将击中声纳服务器并获取数字并返回到任务汇合中的变量(在第1点中提到,函数的调用者)。

  3. def func1(){
    
    // call to a sonar server 
    
    }
    

    问题是当我在intellij中构建项目时,它尝试在函数中执行代码,因此请求声纳服务器。我想要实现的是在构建项目时不应该执行函数代码。但那时我明确地将任务合并称为运行。

    为什么代码在构建应用程序时执行,即使我没有调用它来执行。它只是在build.gradle中定义的

    我尝试使用doLast和finalizedBy进行汇合任务,但它并没有为此任务工作。可以在问题上方的上述位置找到pugin的实现。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望将您的任务排除在构建时间内运行,只有在您点击它时才会运行?

如果是这种情况,您可以使用  gradlew build -x yourTaskName 从命令行(在Windows上) 或包括  yourTaskName.enabled = false 在你的应用程序级build.gradle中。 希望这可以帮助。