本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见:

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.2.1版本兼容 android 2.2以上系统,项目地址如下:

https://github.com/msdx/gradle-doc-apk

翻译不易,转载请注明本文在CSDN博客上的出处:

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

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

第四十七章. Build Init 插件

Build Init 插件目前仍然是孵化状态。请务必注意,在以后的 Gradle 版本中,相关的 DSL 和其他配置可能会有所改变。

Gradle Build Init 插件可以用于引导创建一个新的 Gradle 构建的过程。它支持创建不同类型的全新项目,以及将现有的构建 (如 Apache Maven 构建) 转换成 Gradle 构建。

Gradle 插件通常需要被应用于 project 中才可以使用(见第 21.1节,"应用插件")。 Build Init 插件是一个自动应用的插件,这意味着您不需要显式地应用它。如果要使用该插件,只需要在你想要的地方,执行名为init 的任务,就可以创建 Gradle 构建。那里不需要创建一个“存根”build.gradle文件以应用该插件。

它还利用了 Wrapper 插件的 wrapper 任务(见第 48章,Wrapper 插件),这意味着 Gradle Wrapper 也将被安装到该项目。

47.1. 任务

该插件向project 中添加了以下任务:

表 47.1. Build Init 插件 - 任务

任务名称 依赖于 类型 描述
init wrapper InitBuild 生成一个 Gradle 项目。
wrapper - Wrapper 生成 Gradle wrapper 文件。

47.2. 要设置什么

init支持不同的构建安装程序类型。类型通过提供一个 --type 参数值指定。例如,要创建一个 Java library 项目,只需执行: gradle init --type java-library

如果没有提供 --type 参数,Gradle 将尝试从当前环境来推断类型。例如,如果它发现pom.xml,它将推断一个“pom”的类型值,以转换为 Gradle 构建。

如果无法推断类型,将使用“basic”类型。

所有构建安装类型都包括 Gradle Wrapper 的安装。

47.3. 构建初始化的类型

由于这个插件目前仍是孵化状态,当前仅支持3个构建初始化类型。在未来的 Gradle 发布中,将会添加更多类型。

47.3.1. “pom”(Maven 转换)

pom”类型可以被用于把 Apache Maven 构建转换为 Gradle 构建。这是通过将 POM 转换为一个或多个 Gradle 文件。它仅用于当有一个有效的“pom.xml”文件在 init 任务被调用的目录的时候。如果存在这样的文件,将会自动推断此类型。

Maven 转换实现最初由 Gradle 社区成员开发的maven2gradle tool启发。

该转换过程具有以下特点:

  • 使用有效的 POM 和有效设置(支持 POM 继承、 依赖管理、 属性)
  • 支持单个模块和多模块项目
  • 支持自定义模块名称 (即目录名称有所不同)
  • 生成通用元数据 - id,description 和 version
  • 应用maven,java 和 war 插件(如果需要)
  • 如果需要,支持把 war 项目打包为 jar 包
  • 生成依赖 (包括外部的和模块间的)
  • 生成下载仓库(包括本地 Maven 存储库)
  • 调整 java 编译器设置
  • 支持打包源代码和测试代码
  • 支持 TestNG runner
  • 从 Maven enforcer 插件设置生成全局的 exclusions

47.3.2. “java-library

Java-library”构建初始化类型不是可推断的。它必须显式指定。

它具有以下特点:

  • 使用“java”插件
  • 使用“mavenCentral()”依赖仓库
  • 使用JUnit测试
  • 在源代码中的约定位置有目录
  • 如果不存在源文件或测试文件,会包含一个示例类和单元测试

47.3.3. “scala-library

scala-library”构建初始化类型不是可推断的。它必须显式指定。

它具有以下特点:

  • 使用“scala”插件
  • 使用“mavenCentral()”依赖仓库
  • 使用 Scala 2.10
  • 使用ScalaTest作为测试
  • 在源代码中的约定位置有目录
  • 如果不存在源文件或测试文件,会包含一个示例 scala 类和一个相应的 ScalaTest 测试套件

47.3.4. “groovy-library

groovy-library”构建初始化类型不是可推断的。它必须显式指定。

它具有以下特点:

  • 使用“groovy”插件
  • 使用“mavenCentral()”依赖仓库
  • 使用 Groovy 2.x
  • 测试使用 Spock testing framework
  • 在源代码中的约定位置有目录
  • 如果不存在源文件或测试文件,会包含一个示例 groovy 类和一个相应的 Spock 规范

47.3.5. “basic”

basic”构建初始化类型用于创建一个新的 Gradle 项目。它将创建一个示例build.gradle文件,并包含注释和链接以帮助你开始。

如果没有显示地指定一个类型,或者无法推断出类型时,会使用该类型。

Gradle 1.12用户指南翻译——第四十七章. Build Init 插件的更多相关文章

  1. Gradle 1.12用户指南翻译——第四十三章. 构建公告插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  2. Gradle 1.12用户指南翻译——第三十七章. OSGi 插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  3. Gradle 1.12用户指南翻译——第四十九章. Build Dashboard 插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  4. Gradle 1.12用户指南翻译——第四十五章. 应用程序插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  5. Gradle 1.12用户指南翻译——第二十二章. 标准的 Gradle 插件

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

  6. Gradle 1.12用户指南翻译——第二十五章. Scala 插件

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

  7. Gradle 1.12用户指南翻译——第四十八章. Wrapper 插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  8. Gradle 1.12用户指南翻译——第四十章. ANTLR 插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  9. Gradle 1.12用户指南翻译——第四十四章. 分发插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

随机推荐

  1. Why deep learning?

    1. 深度学习中网络越深越好么? 理论上说是这样的,因为网络越深,参数也越多,拟合能力也越强(但实际情况是,网络很深的时候,不容易训练,使得表现能力可能并不好). 2. 那么,不同什么深度的网络,在参 ...

  2. DbContext(String)+SqlQuery一起使用

    DbContext(String) 可以将给定字符串用作将连接到的数据库的名称或连接字符串来构造一个新的上下文实例. Database.SqlQuery 方法 (Type, String, Objec ...

  3. C# 关键字替换

    /// <summary> /// 关键字替换 /// </summary> /// <param name="body"></param ...

  4. 自己使用Vue全家桶问题合集(很多eslint规范问题)

    遇到很多问题一一道来. 1.vue报错 Do not use built-in or reserved HTML elements as component id:header 组件,不能和html标 ...

  5. 《c++ const 详细总结》--转载

    C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助. const 是C++中常用的类型修饰符,常类型是指使用类 ...

  6. HTTP响应状态解析

    100 客户端应当继续发送请求.这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应.服务器必须在请求完成后向客 ...

  7. 2015 多校联赛 ——HDU5371(manacher + 枚举)

    Sample Input 1 10 2 3 4 4 3 2 2 3 4 4   Sample Output Case #1: 9 要求找出一段数字. 将其分成3部分,第①和第②部分成回文字串,第②和第 ...

  8. UVA129 —— Krypton Factor (氪因素)

    Input and Output In order to provide the Quiz Master with a potentially unlimited source of question ...

  9. [SPOJ705]不同的子串

    题目描述] 给定一个字符串,计算其不同的子串个数. [输入格式] 一行一个仅包含大写字母的字符串,长度<=50000 [输出格式] 一行一个正整数,即不同的子串个数. [样例输入] ABABA ...

  10. hdu 1828 线段树扫描线(周长)

    Picture Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...