美文网首页
Cannot add task ':jacocoTestRepo

Cannot add task ':jacocoTestRepo

作者: 普通的程序员 | 来源:发表于2021-09-06 11:32 被阅读0次

    在工作中也遇到了这个问题,但是我觉得stackoverflow的这个解法不对
    https://stackoverflow.com/questions/49372067/cannot-add-task-jacocotestreport-as-a-task-with-that-name-already-exists

    这个问题的本质应该是,创建了已经存在的task,通俗点,方法名重复了。

    原本期望是给每个编译类型的task都动态创建一个jacocoTask(这里jacocoTask是jacoco插件原本的名字哈)

    image.png

    createJacocoTask这个方法里,就def了一个新的task,叫做jacocoTestReport,
    (我的业务代码就不放了,定义基本与stackoverflow的这个一样)


    image.png

    bug原因就在这里了,每个variant都要创建task,至少有debug跟release两个variant,那么就导致存在两个jacocoTestReport。

    解法1:动态创建方法名,避免重名。

        def taskName =  "jacocoTestReport${variantName.capitalize()}"
        tasks.create(name: "${taskName}", type: JacocoReport)
    

    解法2:减少variant,其实我们只需要关注debug,本质上只需要创建1个task就好了。(推荐)

    相关文章

      网友评论

          本文标题:Cannot add task ':jacocoTestRepo

          本文链接:https://www.haomeiwen.com/subject/vxyewltx.html