2.1使用Tooling API嵌入Gradle
Posted 安卓开发资源分享
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.1使用Tooling API嵌入Gradle相关的知识,希望对你有一定的参考价值。
使用Tooling API嵌入Gradle
Gradle教程第一章:2.0故障排查
目录
14.1。 API简介
14.2。 API功能
14.3。 Tooling API和Gradle Build Daemon
14.4。 快速开始
14.5。 Gradle版本和Java版本兼容
2.1.1 API简介
Gradle提供了一个名为Tooling API的编程API,你可以将其用于将Gradle,并嵌入到你的软件中。 此API允许你执行和监视构建并查询Gradle关于构建的详细信息。 这个API的主要是服务IDE,CI服务器,其他UI作者。然而,此API是开放的,任何人都可以将它嵌入Gradle的应用程序
Gradle TestKituse用于对Gradle插件进行功能测试的Tooling API。
Eclipse建立了用于导入Gradle项目和运行任务的Tooling API。
IntelliJ IDEAUSE工具API用于导入Gradle项目和运行任务。
2.1.2 API功能
Tooling API的基本特征是它以独立的版本运行。 这意味着你可以使用相同的API来处理使用不同版本的Gradle的构建,包括比您正在使用的Tooling API版本更新或更旧的版本。 Tooling API是Gradle外包装,默认情况下,使用外包装功能构建所使用的相同的Gradle版本。
Tooling API提供的一些功能:
查询构建的详细信息,包括项目层次结构和项目依赖关系,外部依赖关系(包括源代码和Javadoc jar),每个项目的源目录和任务。
执行构建并监听stdout和stderr日志记录和进度消息(例如,当您在命令行中运行时,显示在“状态栏”中的消息)。
执行特定的测试类或测试方法。
在构建执行时接收有趣的事件,例如项目配置,任务执行或测试执行。
取消正在运行的构建。
将多个单独的Gradle构建组合成单个复合构建。
Tooling API可以下载并安装相应的Gradle版本,类似于打包。
该实现是轻量级的,只有少量的依赖关系。 它也是一个库,不会对你的类加载器结构或日志记录配置做任何修改。 这使API更加容易嵌入到应用程序中。
2.1.3。 Tooling API和Gradle Build Daemon
Tooling API始终使用Gradle守护进程。 这意味着随后调用Tooling API,无论是模型构建请求还是任务执行请求都将在同一个过程中执行。在后面Gradle Daemon包含有关守护程序的更多详细信息,具体介绍新的守护进程的情况分叉。
14.4快速开始
由于Tooling API是开发人员的接口,所以Javadoc是它的主要文档。 我们提供各种各样的实际样本/工具。 这些示例指定了Tooling API的所有必需依赖关系,其中包含用于查询Gradle构建信息和从Tooling API执行任务的示例。
要使用Tooling API,请将以下存储库和依赖关系声明添加到构建脚本中:
使用API工具
build.gradle
repositories { maven { url'https://repo.gradle.org/gradle/libs-releases'}}dependencies { compile"org.gradle:gradle-tooling-api:${toolingApiVersion}"// The tooling API need an SLF4J implementation available at runtime, replace this with any other implementationruntime'org.slf4j:slf4j-simple:1.7.10'}
Tooling API的主要入口点是GradleConnector。 您可以从中浏览代码示例,并探索可用的Tooling API模型。 您可以使用GradleConnector.connect()创建一个ProProConnection。 AProjectConnection连接到单个Gradle项目。 使用连接,您可以执行相对于该项目的任务,测试和检索模型。
2.1.5。 Gradle版本和Java版本兼容
当前版本的Tooling API支持使用Gradle 1.2版和更高版本运行构建。
你应该注意到,并不是所有版本的Gradle都可以使用Tooling API的所有功能。 例如,构建取消仅在构建使用Gradle 2.1和更高版本时可用。 有关详细信息,请参阅各类和方法的文档。
目前的Gradle版本可以从Tooling API版本2.0或更高版本使用。
Tooling API需要Java 7或更高版本。 构建使用的Gradle版本可能具有其他Java版本要求。
以上是关于2.1使用Tooling API嵌入Gradle的主要内容,如果未能解决你的问题,请参考以下文章
Error:Support for clients using a tooling API version older than 3.0 was removed in Gradle 5.0. You(
解决Initializing Java Tooling 和 Initializing Java Tooling卡死问题
找不到模块@angular/compiler-cli/src/tooling
Eclipse遇到Initializing Java Tooling终极解决办法
org.gradle.tooling.BuildException:java.io.IOException:无法生成 v1 签名