有没有像Gradle中有效的pom(Maven)?

几个月前我就开始使用Gradle,有时我的build.gradle文件遇到问题。 例如,如果我添加这样的东西到我的文件:

 apply plugin: 'kotlin' 

我不知道会扩大到什么程度。 在我的情况下,我发现它也引入了java插件,而java插件本身也设置了一些配置。 我怎么知道这些陈述将扩展到什么? Gradle有没有像一个有效的build.gradle

澄清:我真正希望知道的是每个apply plugin X语句在幕后进行,而不需要查看文档等。

您可能可以列出一个自定义任务的插件

 task pluginReport { doLast { allprojects.each { Project p -> PluginContainer plugins = p.plugins println "Project: ${p.name} has ${plugins.size()} plugins plugins.each { Plugin plugin -> println " - ${plugin.class.name}" } } } } 

由于Gradle 2.10,你可以尝试使用gradle buildEnvironment 。 也看到这个答案 , 这个博客文章 ,或官方文档 。

Gradle插件虽然可以以gradle脚本的形式存在,但它们中的很大一部分是二进制插件:恰好在构建时由jvm执行的java代码。 这意味着“build.gradle”是有效的build.gradle,除非你真的想看字节码/插件源代码。

要知道插件是如何带入项目的最好方法是阅读文档 ,或者如果文档不够,请尝试联系Kotlin开发人员/ Kotlin特定的支持论坛。

编辑回应澄清:不,没有办法知道什么插件正在做,而不看文件; 插件通常是与您的构建一起运行的Groovy / Java程序。 这就像要求你的电脑推测什么“xyz.exe”没有谷歌搜索或运行。

选择gradle插件对于您的构建过程来说是一个非常大的和慎重的选择,并且需要仔细考虑,并考虑它们带来的功能以及每个插件使用的设置,以确保您的构建能够满足您的需求。 即使我们有SciFi电脑,可以神奇地说出简单的英文是一个随机的二进制文件,你最好通过做你的脚步,阅读文档,搞清楚你的​​插件做什么,以及如何有效地使用你的插件。