|
转载请注明出处:http://blog.csdn.net/lastsweetop/article/details/78973048
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类型就会被使用 |