Gradle学习(十二)——Build Init插件

栏目: Java · 发布时间: 6年前

内容简介: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类型就会被使用


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Zen of CSS Design

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》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具