问题标签 [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 投票
0 回答
209 浏览

groovy - Gradle tooling api 和插件的类路径资源

我正在尝试使用测试我编写的自定义插件的 gradle 工具 API 自动构建,当我手动运行测试步骤并调用 gradle 命令行时,一切都按预期工作,但是当我运行集成测试时,以下返回我的插件为空

我认为 gradle 工具 API 正在对我的插件的类加载做一些时髦的事情,但我对可能发生的事情没有足够的了解。

将工具 API 配置为不弄乱我的类加载或从插件的类路径加载资源的正确方法是什么?

0 投票
0 回答
331 浏览

gradle - 禁止来自 Gradle 工具 API 的内部日志记录

当我在我的自定义插件中使用 Gradle 工具 API 时,我在控制台上会听到很多噪音,例如:

(以及半打类似的行),以及

我怎么能压制这个?我尝试将 SLF4J 配置为在我的插件中使用 Log4J build.gradle(我不知道它默认使用什么)并在我的 中设置 ERROR 级别的附加程序org.gradlelog4j.xml但这似乎什么也没做。

然后我尝试将以下 Logback 配置文件添加到我的插件的src/main/resources--

-- 重建插件,刷新使用插件的项目中的依赖关系,并再次调用它,但我仍然得到所有工具调试输出。

我还尝试以编程方式重新配置日志级别,但遇到了类加载器问题:

0 投票
1 回答
375 浏览

gradle - Gradle ResultHandler 返回 null

我想从 Gradle Tooling 运行的任务中获取结果。我定义了 ResultHandler,但在方法 onComplete(Object result) 中我得到空值。输入 gradle cR 后,我得到以下输出:

如何从我的任务“returnString()”中获得结果。这是我的 build.gradle:

0 投票
2 回答
1292 浏览

gradle - Gradle Tooling API - 如何使用 Gradle 包装器?

我已经开始使用 Gradle 工具 API 并发现问题:有什么方法可以使用 Gradle 包装器作为工具 API 中的 Gradle 安装?我需要忽略系统中的任何 Gradle 安装,并在 Tooling API 下为目标项目使用 Gradle 包装器。

提前致谢!

0 投票
1 回答
737 浏览

gradle - 如何使用 gradle tooling api 将插件应用于构建脚本?

我正在编写一个 Eclipse 插件,我想使用 gradle tooling api 来检查 gradle 项目的构建脚本,以查看它是否应用了某些插件。

假设我有一个看起来像这样的构建脚本:

有没有办法可以使用 gradle tooling api 来找出这个特定的 gradle 项目正在应用哪些插件?

我知道你可以得到项目依赖的列表,但是 buildscript{} 依赖呢?

0 投票
3 回答
1106 浏览

java - Gradle Tooling API - 查找 GradleProject 的所有任务

我完全被困在这里。我正在编写一个应该操作 gradle 构建的 java 类。

我已经成功地实例化了 gradle 工具 API(Connector、GradleProject),但是这些都不能让我得到 BuildLauncher 可用的所有任务的简单列表(提示:一些任务可能在插件中)。但是,我设法运行“:tasks”任务,然后解析它的输出,但这听起来很糟糕。

其中一个想法是以某种方式获得 org.gradle.api.Project 参考,但我也做不到。

我是否遗漏了一些重要的东西,或者只是工具 API 从来没有打算提供对 gradle API 的访问?

0 投票
1 回答
315 浏览

gradle - Gradle 工具:如何设置环境变量

我有一个自定义插件,我正在编写测试来测试它。为此,我使用了 gradle tooling api(我发现这是推荐的测试方式)。

其中一项测试要求我通过设置一些环境变量来运行任务。我该如何测试这个。我没有看到ProjectConnection提供设置环境变量的方法。

如果我必须手动测试,我必须这样做:

verify_lrg我的自定义插件添加的任务在哪里。

目前为了解决这个问题,我正在运行ProcessBuilder,但想知道是否有任何 gradle tooling 方式(因为所有其他测试都使用 gradle tooling api)

0 投票
0 回答
601 浏览

gradle - 使用 Gradle Tooling API 以编程方式将 Gradle 任务添加到可用任务列表

可以通过在 build.gradle 文件中声明新任务来将新任务添加到任务列表

将以下内容添加到 build.gradle 会将 listJars 任务添加到可用任务列表中。

task listJars << {configurations.compile.each {文件文件-> println file.path + File.separator+ file.name } }

有没有办法在 Java 程序中以编程方式实现相同的目标?

0 投票
0 回答
105 浏览

gradle - 获取现有 Gradle 项目的 org.gradle.api.DefaultProject 对象?

问题

如何以Gradle Projects编程方式进行交互?

语境

我需要检索以下提供的构建信息:

但我看不到通过java.

我看到的所有文档都描述了如何使用groovy DSL.

谢谢

0 投票
5 回答
25306 浏览

android - Gradle - 无法创建工具 API 实现的实例

我正在尝试从 GitHub 导入一个项目并在 Android Studio 上构建/运行它。我收到以下错误:

“错误:无法使用指定的 Gradle 分发版‘ https://services.gradle.org/distributions/gradle-2.4-all.zip ’创建工具 API 实现的实例。”

我尝试了以下方法:

  1. 使缓存无效并重新启动
  2. 将 gradle-wrapper/properties 中的 distributionURL 更改为 2.5 等。
  3. 删除 build.gradle 并重新启动

这些是我从 stackoverflow 上的其他几篇文章中得到的想法,所以我无法解释我为什么尝试这些。(我对 Android Studio 非常陌生)。

我的build.gradle文件如下所示: