Gradle 1.12用户指南翻译——第六十二章. 嵌入 Gradle

简介: 其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上的地址:https://github.com/msdx/gradledoc本文翻译所在分支:https://github.com/msdx/gradledoc/tree/1.12。
其他章节的翻译请参见:
http://blog.csdn.net/column/details/gradle-translation.html
翻译项目请关注Github上的地址:
https://github.com/msdx/gradledoc
本文翻译所在分支:
https://github.com/msdx/gradledoc/tree/1.12。
直接浏览双语版的文档请访问:
http://gradledoc.qiniudn.com/1.12/userguide/userguide.html。
另外,Android 手机用户可通过我写的一个程序浏览文档,带缓存功能的,目前0.6开发中版本兼容 Android 2.3以上系统,项目地址如下:
https://github.com/msdx/gradle-doc-apk
翻译不易,转载请注明本文在CSDN博客上的出处:

http://blog.csdn.net/maosidiaoxian/article/details/71036425

关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qiniudn.com 上的文档为准。如发现翻译有误的地方,将首先在以上两个地方更新。因时间精力问题,博客中发表的译文基本不会同步修改。

另外,目前Gradle1.12版本的文档已经翻译完并进入校稿阶段,校稿的方式为到该项目https://github.com/msdx/gradledoc 提交issue或是pull request。校稿的结果不只是在此版本更新,也会用于改善Gradle下一版本(2.0)文档的翻译。


第六十二章. 嵌入 Gradle

62.1.Tooling API 简介

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提供了以下这些功能:

  • 你可以查询Gradle 关于构建的详细信息,包括项目层次结构和项目依赖,外部依赖(包括源代码及javadoc jars),源代码目录以及每一个项目的任务。
  • 你可以执行构建,并且监听标准输出和错误输出的日志和进度(例如当你在命令上运行时显示在“状态栏”上的东西)。
  • Tooling API 可以下载和安装适当的Gradle版本,类似于包装器。记住,tooling API 是有包装器感知的,因此你不需要直接 配置Gradle分发包。
  • 它的实现很轻量,只有很少的依赖。它也是一个很优秀的库,并且不会有魅力从你的类加载器结构或者日志的配置。这便于把API捆绑到你的应用程序中。

将来我们可能会支持一些其他有趣的功能:

  • 性能。这个API 让我们有机会去做大量的缓存,静态分析以及抢占式的工作,为用户提供更快的速度。
  • 更好的进度监控及可取消构建。例如,允许对测试的执行进行监控。
  • 当构建中的内容有变化时进行通知,以便可以更新UI和模型。例如,你的 Eclipse 或IDEA 项目将在后台中马上更新。
  • 对用户提供的配置进行验证和输入提示。
  • 提示输入和管理用户凭据

Tooling API 是官方及推荐的嵌入Gradle 的方法。这意味着,现有的 API,即GradleLauncher和开放的 API(UIFactory 及同类)已经被弃用,且会在以后的 Gradle 版本中移除。如果你碰巧使用一种上面的API,请考虑一下更改你的应用程序,改为使用tooling API。

62.2. Tooling API 及 Gradle 构建守护进程

请查看 第十九章,Gradle守护进程。Tooling API 在整个过程中都会使用守护进程,举例来说,没有守护进程,你不能正式地使用Tooling API。这意味着对Tooling API的后续调用,无论是模型构建请求还是任务执行请求,都可以在同一个长期存活的进程中执行。第十九章,Gradle守护进程包含了关于守护进程的更多细节内容,特别是当新进行被fork时的信息。

62.3. 快速入门

由于tooling API 是一个针对程序员的接口,因此大部分的文档都在Javadoc中。这正是我们的意图——我们并不想这章内容变得很长。相反的,我们将添加更多的代码示例来完善Javadoc 文档. Tooling API 的主要入口点是GradleConnector。你可以从那里导航和查找代码示例以及其他说明。关于学习如何使用 API 的非常有效的方法是,检出及运行在$gradleHome/samples/toolingApi上的示例

如果你正在嵌入 Gradle,并且你正在寻找tooling API Jar所需要的确切的依赖,,请参考在$gradleHome/samples/toolingApi上的一些示例。依赖是在 Gradle 构建脚本中声明的。你也可以找到获取Jar 的仓库声明。


目录
相关文章
|
Java API 数据格式
Gradle 1.12 翻译——第十六章. 使用文件
有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com/1.12/userguide/userguide.html 本文原创,转载请注明出处:http://blog.csdn.net/maosidiaoxian/article/details/41113353 关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qiniudn.com 上的文档为准。
901 0
|
XML Java 测试技术
Gradle 1.12 翻译——第十五章. 任务详述
有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com/1.12/userguide/userguide.html 本文原创,转载请注明出处:http://blog.csdn.net/maosidiaoxian/article/details/41038305 关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qiniudn.com 上的文档为准。
782 0
|
缓存 Java 持续交付
Gradle 1.12 翻译——第十四章. 教程 - 杂七杂八
有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com/1.12/userguide/userguide.html 本文原创,转载请注明出处:http://blog.csdn.net/maosidiaoxian/article/details/41006627 关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qiniudn.com 上的文档为准。
1046 0
|
存储 Java Unix
Gradle 1.12 翻译——第十二章 使用Gradle 图形用户界面
有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com/1.12/userguide/userguide.html 本文原创,转载请注明出处:http://blog.csdn.net/maosidiaoxian/article/details/40949821 关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qiniudn.com 上的文档为准。
1008 0
|
Java 测试技术
Gradle 1.12 翻译——第九章 Groovy快速入门
由于时间关系,没办法同时做笔记和翻译,关于Gradle的用户指南,本博客不再做相关笔记,而只对未翻译章节进行翻译并在此发表。 有关其他已翻译的章节请关注Github上的项目:https://github.
1114 0
|
Java 容器
翻译:Gradle之 Java插件
原文地址 http://www.gradle.org/docs/current/userguide/java_plugin.html 23.1. Usage用法 要使用Java插件,在脚本里加入: Example 23.1. Using the Java plugin build.gradle apply plugin: 'java' 23.2. Source sets源集 Java插件引入了一个概念:源集(source set),一个源集就是一组被一起编译一起执行的源文件。
772 0
|
Java API
翻译:Gradle之构建脚本编写
原文地址 http://www.gradle.org/docs/current/userguide/writing_build_scripts.html 13.1. The Gradle build language构建语言 Gradle提供了一种“领域专用语言”(domain specific language) 或者 DSL对构建进行描述。
926 0
|
Java 数据库连接 Maven
翻译:Gradle之依赖管理
  原文地址 http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html   8.1. What is dependency management?何谓?为何? 依赖管理大致有两块:首先Gradle需要找到你工程需要的东西,这些东西就是所谓的“依赖”。
792 0
|
API
翻译:Gradle之构建脚本入门
原文地址http://www.gradle.org/docs/current/userguide/tutorial_using_tasks.html 6.1. Projects and tasks工程和任务 Gradle中的任何东西都基于俩概念: projects 工程 和 tasks 任务。
819 0
|
Java 测试技术 API
翻译--Gradle之Java工程入门
原文地址 http://www.gradle.org/docs/current/userguide/tutorial_java_projects.html   7.1. The Java plugin插件 我们已经看到Gradle是一个通用构建工具,它可以完成相当多的任务,只要你能在脚本里定义好。
1224 0