Gradle XML依赖性报告错误

时间:2019-04-11 14:05:48

标签: gradle build.gradle gradle-plugin

我正在尝试使用Gradle plugin: 'project-report'来生成依赖项报告。

运行gradle htmlDependencyReport任务时,我可以获得html报告,但是当我将其配置为生成xml时,如文档中的示例所示,我得到一个错误。

// build.gradle
htmlDependencyReport {
    projects = project.allprojects
    reports {
        html {
          enabled false
        }
        xml.destination "build/reports/myReport.xml"
    }
}

~# gradle htmlDependencyReport

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/the_storyteller/Projects/my_project/build.gradle' line: 84

* What went wrong:
A problem occurred evaluating root project 'my_project'.
> Could not get unknown property 'xml' for Report set of type org.gradle.api.reporting.dependencies.internal.DefaultDependencyReportContainer.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s

我需要额外的插件,还是我的语法无效?

1 个答案:

答案 0 :(得分:1)

我想,您正在构建的报告类型不支持此功能。 Here is一个接口描述,由HtmlDependencyReportTask实现。它指定了一种通过闭包配置报告容器的方法,如下所示:

  

允许通过关闭配置报告容器。

reports {   
   html {
    enabled false   
   }   
   xml.destination "build/reports/myReport.xml" 
}

它允许您指定一个闭包以配置受支持的报告。只是一些实现的示例。而且,当您查看HtmlDependencyReportTask的javadoc时,它只是向您显示了父类方法的描述,这只是某种报告的示例,实际上不是HtmlDependencyReportTask的示例。

因此,看来您实际上无法获得带有基于html的报告类型任务的xml报告。如果您查看DefaultDependencyReportContainer sources,您将找不到名为xml的任何属性。