内容简介:Gradle学习(十二)——Build Init插件
Gradle的Build Init插件可以作为创建新Gradle项目的引导程序,它支持创建不同类型的全新项目,也可以把存在的项目转变为Gradle项目,比如Maven项目。
Gradle的插件在使用之前通常需要apply一下,但是Gradle的Build Init插件自动就被apply了,这意味着你不需要显示的apply它。你准备创建Gradle项目时只需要直接执行init任务就OK了,就可以直接使用这个插件,并不需要你创建一个build.gradle文件,然后去apply这个插件。
对于Wrapper插件的wrapper任务来说也是一样的,它也一样被默认apply了。
任务
这个插件为项目增加了两个任务:
任务名称 | 依赖 | 类型 | 描述 |
---|---|---|---|
init | wrapper | InitBuild | 生成Gradle项目 |
wrapper | —— | Wrapper | 生成Gradle Wrapper文件 |
构建类型设置
init任务支持不同的构建类型,可以通过 --type
选项进行设置,比如创建 java 类库项目只需要执行 gradle init --type java-library
命令。
如果没有指定type,Gradle就会自己去推断创建什么类型,如果发现当前目录下有 pom.xml
文件,他就会创建pom类型,把现有的maven工程转换为Gradle工程。
如果无法推断类型他就会使用 basic
类型。所有的类型都会执行wrapper任务。
Build Init的类型
pom(Maven转换)
pom类型可以通过将pom转换成多个gradle文件,达到将maven构建转换成gradle构建的目的。只有在当前目录或者命令行通过 -p
指定的目录下存在可用的 pom.xml
文件,此类型才能起作用。当这个文件存在,那么pom就是可以推断的类型。
转换进程有以下特性:
- 使用有效的POM和有效的设置(包括POM继承,依赖管理,属性等)
- 支持单个项目构建和多项目构建
- 支持和目录名不同的自定义模块名称
- 生成通用的元数据-id,description和version
- 如果需要可以apply的插件有maven,java和war
- 支持必要的war和jar工程
- 生成外部或者模块之间的依赖
- 生成下载库,比如maven仓库
- 调整java编译器的设置
- 支持源代码和测试的packaging
- 支持TestNG
- 将Maven需要的插件从全局排除
java-application
java-application类型不能被推断,必须明确指定
它具有以下特性:
-
使用
java
插件 -
使用
application
插件来生成java实现的命令行程序 -
使用
jcenter
依赖库 - 使用JUnit测试
- 为源代码生成惯例使用的本地目录
- 如果不存在代码或者单元测试文件,则会生成简单的代码和单元测试文件
其他测试框架也可以通过 --test-framework
选项的参数被指定,使用其他测试框架的命令:
-
gradle init --type java-application --test-framework spock
:使用Spock代替JUnit进行单元测试 -
gradle init --type java-application --test-framework testng
:使用TestNG代替JUnit进行单元测试
java-library
java-library类型不能被推断,必须明确指定
它具有以下特性:
-
使用
java
插件来生成java的jar -
使用
jcenter
依赖库 - 使用JUnit测试
- 为源代码生成惯例使用的本地目录
- 如果不存在代码或者单元测试文件,则会生成简单的代码和单元测试文件
其他测试框架也可以通过 --test-framework
选项的参数被指定,使用其他测试框架的命令:
-
gradle init --type java-library --test-framework spock
:使用Spock代替JUnit进行单元测试 -
gradle init --type java-library --test-framework testng
:使用TestNG代替JUnit进行单元测试
scala-library
scala-library类型不能被推断,必须明确指定
它具有以下特性:
-
使用
scala
插件来生成scala的jar -
使用
jcenter
依赖库 - 使用Scala2.10
- 使用ScalaTest测试
- 为源代码生成惯例使用的本地目录
- 如果不存在代码或者单元测试文件,则会生成简单的scala代码和关联的ScalaTest单元套件
- 默认使用Zinc Scala编译器
groovy-library
groovy-library类型不能被推断,必须明确指定
它具有以下特性:
-
使用
groovy
插件来生成groovy的jar -
使用
jcenter
依赖库 - 使用Scala2.x
- 使用Spock测试框架进行测试
- 为源代码生成惯例使用的本地目录
- 如果不存在代码或者单元测试文件,则会生成简单的Groovy代码和关联的Spock的specification
groovy-application
groovy-application类型不能被推断,必须明确指定
它具有以下特性:
-
使用
groovy
插件 -
使用
application
生成Groovy的命令行程序 -
使用
jcenter
依赖库 - 使用Scala2.x
- 使用Spock测试框架进行测试
- 为源代码生成惯例使用的本地目录
- 如果不存在代码或者单元测试文件,则会生成简单的Groovy代码和关联的Spock的specification
basic
basic类型被用于创建一个新的Gradle项目,它会创建带有一些注释和帮助链接的build.gradle文件。
当没有明确指定类型,而且无法推断具体类型时,basic类型就会被使用
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- burpsuite 插件编译学习指南
- Flutter学习指南:封装 API 插件
- docker学习——libnetwork插件化网络功能
- Vue 2.0学习笔记:如何创建Vue插件
- Mybatis分页插件PageHelper的学习与使用
- React学习篇-JSX(手写一个JSX的插件)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Zen of CSS Design
Dave Shea、Molly E. Holzschlag / Peachpit Press / 2005-2-27 / USD 44.99
Proving once and for all that standards-compliant design does not equal dull design, this inspiring tome uses examples from the landmark CSS Zen Garden site as the foundation for discussions on how to......一起来看看 《The Zen of CSS Design》 这本书的介绍吧!