问题标签 [gradle-tooling-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
204 浏览

gradle - 在 Gradle Tooling API 中的 Groovy 中将 varargs 作为第二个参数传递

我正在尝试执行 Gradle Tooling API,但我无法调用该addProgressListner()方法,因为我在编译期间遇到了令人惊讶的问题:

编译失败,因为 vararg 未被正确识别

我错过了什么?

0 投票
1 回答
273 浏览

gradle - Tooling API 自定义模型的外部注册

Gradle Tooling API 自定义模型中提供的samples/toolingApi/customModelFeature Spotlight示例都使用插件来注册模型。然而,为了应用插件,有必要更改build.gradle或使用初始化脚本,GradleConnector(目前)支持这些脚本。

如何在 Tooling API 本身中注册自定义模型,以便我的应用程序可以以自定义格式检索项目信息而不更改其build.gradle文件?如何ToolingModelBuilderRegistry在应用程序代码中获得对实现的引用?

0 投票
0 回答
180 浏览

gradle-tooling-api - 通过 Gradle Tooling API 访问任务的属性

我正在使用 gradle 工具 API 为我自己的构建脚本运行功能测试。

我想访问任务的属性,例如JavaCompile 任务的destinationDir,但我不知道如何完成。

简单的例子:

我的 buildScript 中的片段(我定义了一个 SourceSet 'openjpa'):

在我的功能测试中,我读到了一种访问任务的方法,但我无法访问destinationDir-property。

没有答案的类似问题在这里:Gradle tooling api get task outputs

是否可以访问任务的属性?

谢谢简

0 投票
1 回答
465 浏览

gradle - 使用 gradle tooling API 时如何设置 gradle 项目属性?

我正在尝试使用工具 API 从 groovy 代码运行 gradle 任务。以下作品:

但我要运行的任务取决于项目属性。例如,如果我从命令行运行它,我会使用

我不知道如何使用工具 API 来设置这些项目值。

0 投票
1 回答
1306 浏览

java - 以编程方式访问 build.gradle 内容

我们是否可以选择在 java 程序中读取 build.gradle 文件的内容。我可以使用下面的代码在 Maven 中做类似的事情。现在,我正在寻找在 gradle 中执行相同操作的选项。我尝试使用 Gradle-tooling-api,如下所述,但出现了一些错误(不确定我是否采用了正确的方法)。

使用 MavenXpp3Reader 读取 pom.xml

尝试如下利用 gradle-tooling-api,但得到以下错误。

线程“主”org.gradle.tooling.UnknownModelException 中的异常:此版本中没有“CustomModel”类型的模型。

原因:org.gradle.tooling.provider.model.UnknownModelException:没有构建器可用于构建“org.gradle.sample.toolingapi.CustomModel”类型的模型。

0 投票
1 回答
189 浏览

gradle - 使用 Gradle Tooling API 设置任务属性(或命令行参数)

我想使用 Gradle Tooling API 通过 Buildship 插件从 Eclipse 插件调用 Gradle。我能够毫无问题地运行基本任务。

我的一个用例是gradle init在新项目文件夹中执行任务,但要以非交互方式工作,我必须在任务上传递--type命令行参数(或设置type属性)init。我在工具 API 中找不到任何方法来设置任务的属性或传递特定于任务的命令行参数。

我试过BuildLauncher.addArgument("--type", "plain")了,但这被解释为 Gradle 本身的一个参数,这是无效的。

如何将--type plain参数传递给init任务?

0 投票
0 回答
128 浏览

intellij-idea - Gradle 同步失败:基本功能不起作用

我检查了所有解决方案,得到了需要更新 Android -Studio 版本的答案。

  1. 安卓工作室:3.2
  2. 摇篮版本:5.1.1
  3. 安卓插件版本:3.4.2

当我尝试集成 Youtube API 时出现了这个问题。

摇篮(项目):

尝试更新 AS 版本,但仍然显示 AS 3.2

}

}

我该怎么做才能解决这个问题?

0 投票
1 回答
311 浏览

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

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

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

0 投票
1 回答
75 浏览

gradle - 将属性传递给 Gradle Tooling API ProjectConnection

我正在使用 gradle tooling api,我遇到了以下场景。有一个项目应用了某个插件P ,它仅在属性shouldApplyP被传递时才创建任务T。

因此,如果您要运行,./gradlew tasks --all您将看不到任务T,但如果您要运行 ./gradlew -PshouldApplyP tasks --all,您将看到任务T

在 gradle tooling api 中,一旦ProjectConnection创建了我就可以做 connection.getModel(GradleProject.class).getTasks()

但我看不到这个特定的任务。有没有办法传递项目连接这个属性 -PshouldApplyP,所以它会在getTasks()方法中呈现?

0 投票
1 回答
384 浏览

java - Gradle 工具 API + JUnit 5 并行测试执行异常 (LocationAwareException)

重命名自:LocationAwareException - org.gradle.tooling.ResultHandler 接收错误通知但测试过程正在运行

我正在使用 Gradle 工具 API 通过 Java Spring Boot 服务启动测试。我正在使用带有 Spring Framework ThreadPoolTask​​Scheduler 的 ScheduledFutures 来排队测试并在 Runnable 类中一次运行其中的 X 个。一切似乎都运行良好。

基本上在我的 Runnable 类中,我执行以下操作:

我的 TestResultHandler 只是在 onFailure 中转储信息:

我的测试似乎确实有效,我正在收集结果,但我从 TestResultHandler 中看到了这样的东西:

有谁知道这意味着什么,我是否应该担心?

编辑:这是来自 e.printStackTrace() 的示例输出。谢谢,@ToYonos

这实际上有点截断。它太大了,无法包含所有内容,但我认为最重要的部分在这里。

编辑2:

这里的房间用完了...继续响应 1,这并不是真正的问题响应。