gpt4 book ai didi

gradle - 使用 Gradle tooling api 以编程方式获取 Gradle 插件

转载 作者:行者123 更新时间:2023-12-03 03:25:56 31 4
gpt4 key购买 nike

我正在使用 Gradle 工具 API 来获取有关 Gradle 项目的不同见解,例如项目任务、Gradle 版本等。

此分析的一部分要求我知道项目应用了哪些插件(直接和传递)。我找不到从工具 API 获取 Project 插件的方法。有办法吗?

最佳答案

工具 API 在查询构建的方式上受到限制,并且没有用于列出构建插件的 API,但工具 API 允许您添加自己的插件和模型,您可以使用它们来查询构建。

有点复杂,但你需要添加一个init script到构建(例如通过 init.gradle)提供您的自定义模型和插件来查询构建。

这是一个很好的 repo 协议(protocol),演示了如何做到这一点:https://github.com/melix/gradle-tapi-demo-artifacts

Here's some code来自演示如何使用自定义插件和模型列出构建工件的 repo:

ModelBuilder<OutgoingArtifactsModel> customModelBuilder = connection.model(OutgoingArtifactsModel.class);
customModelBuilder.withArguments("--init-script", copyInitScript().getAbsolutePath());
OutgoingArtifactsModel model = customModelBuilder.get();
for (File artifact : model.getArtifacts()) {
System.out.println("artifact = " + artifact);
}

如果您想列出插件,您可以使用 project.getPlugins() API。

关于gradle - 使用 Gradle tooling api 以编程方式获取 Gradle 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60241904/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com