本文共 2225 字,大约阅读时间需要 7 分钟。
关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qiniudn.com 上的文档为准。如发现翻译有误的地方,将首先在以上两个地方更新。因时间精力问题,博客中发表的译文基本不会同步修改。
另外,目前Gradle1.12版本的文档已经翻译完并进入校稿阶段,校稿的方式为到该项目https://github.com/msdx/gradledoc 提交issue或是pull request。校稿的结果不只是在此版本更新,也会用于改善Gradle下一版本(2.0)文档的翻译。
1.0 里程碑 3 的发布带来了新的 API 叫tooling API,可以用于嵌入 Gradle。这个API可以让你执行和监视构建,并向Gradle 查询有关构建的细节。它的主要受众是IDE,CI服务器,其他的UI作者,或者你的Gradle插件的集成测试。不过,它是向所有需要把Gradle嵌入到他们的应用的人开放的。
这个tooling API 的一个基本特征是它以一个版本独立的方式管理。这意味着,你可以让同样的API与不同的Gradle版本一起使用。Tooling API 是有Gradle包装器感知的,并且默认情况下使用与wrapper-powered 项目相同的目标Gradle版本。
目前这个tooling API提供了以下这些功能:
将来我们可能会支持一些其他有趣的功能:
Tooling API 是官方及推荐的嵌入Gradle 的方法。这意味着,现有的 API,即和开放的 API(UIFactory 及同类)已经被弃用,且会在以后的 Gradle 版本中移除。如果你碰巧使用一种上面的API,请考虑一下更改你的应用程序,改为使用tooling API。
请查看 。Tooling API 在整个过程中都会使用守护进程,举例来说,没有守护进程,你不能正式地使用Tooling API。这意味着对Tooling API的后续调用,无论是模型构建请求还是任务执行请求,都可以在同一个长期存活的进程中执行。包含了关于守护进程的更多细节内容,特别是当新进行被fork时的信息。
由于tooling API 是一个针对程序员的接口,因此大部分的文档都在Javadoc中。这正是我们的意图——我们并不想这章内容变得很长。相反的,我们将添加更多的代码示例来完善Javadoc 文档. Tooling API 的主要入口点是。你可以从那里导航和查找代码示例以及其他说明。关于学习如何使用 API 的非常有效的方法是,检出及运行在$gradleHome/samples/toolingApi
上的示例。
如果你正在嵌入 Gradle,并且你正在寻找tooling API Jar所需要的确切的依赖,,请参考在$gradleHome/samples/toolingApi
上的一些示例。依赖是在 Gradle 构建脚本中声明的。你也可以找到获取Jar 的仓库声明。