支持Contents
- Supported Gradle build types
- Tasks
- Wat to create
- Build init types
此插件能够被用来创建一个新的Gradle build …
它支持创建不同版本的全新的Gradle 构建 … 同样可以转换存在的Apache Maven 构建为Gradle …
支持的Gradle 构建类型
此插件支持生成各种构建类型 … 以下的列表展示了一些可用的类型 …
pom | Converts an existing Apache Maven build to Gradle |
---|---|
basic | A basic, empty, Gradle build |
java-application | A command-line application implemented in Java |
java-gradle-plugin | A Gradle plugin implemented in Java |
java-library | A Java library |
kotlin-application | A command-line application implemented in Kotlin/JVM |
kotlin-gradle-plugin | A Gradle plugin implemented in Kotlin/JVM |
kotlin-library | A Kotlin/JVM library |
groovy-application | A command-line application implemented in Groovy |
groovy-gradle-plugin | A Gradle plugin implemented in Groovy |
groovy-library | A Groovy library |
scala-application | A Scala application |
scala-library | A Scala library |
cpp-application | A command-line application implemented in C++ |
cpp-library | A C++ library |
Tasks
这个插件增加了以下的任务到项目中:
- init — InitBuild
依赖于 wrapper
生成一个Gradle 构建 …
- wrapper — Wrapper[TODO]
生成Gradle wrapper 文件 ..
Gradle 插件通常需要在它能够使用之前应用到项目中 … 点击查看使用插件Using Gradle Plugins[TODO]..
然而,此插件将自动的应用到每一个构建的根项目中 …
这就意味着你不需要显式的应用它(为了使用它) …
你能够简单的执行名为init的任务(如果你想创建这样的Gradle 构建) …
在根项目中执行此任务
这里不再需要创建一个”存根” build.gradle 文件 - 为了应用此插件 …
此插件也使用wrapper 任务去为构建生成Gradle wrapper files …
点击查看,如何生成Gradle Wrapper files …
The Gradle Wrapper[TODO]
What to create
最简单的方式是执行 gradle init ….
Gradle 将会列出必要的构建类型 并让你选择 … 它将会询问某些问题去允许你调整结果 ..
对于init 任务你可以有很多命令行选择 … 来控制它将如何生成 …
如果gradle 没有从交互式控制台运行 它也可以使用这些信息 ..
- — type
指定构建类型 …
例如:
gradle init --type java-library
如果你没有执行—type 选项,Gradle 将会尝试从环境中进行推断 …
例如它发现了一个pom.xml ,他将会推断出pom类型,并将此转换为Gradle 构建 ..
如果这个类型不能够被推断,那么 basic 类型将会被使用 …
init 任务同样支持生成构建脚本,例如Gradle groovy DSL 或者 Gradle kotlin DSL .. 默认对于大多数构建类型使用Groovy DSL 并且对于kotlin 构建类型使用Kotlin DSL .. DSL 能够被选择 - 通过 —dsl 命令行选项 ..
- —dsl
选择构建使用的脚本DSL
gradle init --type java-library --dsl kotlin
- —project-name
改变项目的名称,它默认为目录名称(当init 任务运行时) …
- —incubating
Gradle 将也许会使用最新版本的API 进行构建脚本的生成 …
它们被@Incubating 注释 并且仍然 遵从改变
所有构建类型还设置了 Gradle 包装器。
那就意味着你能够使用gardlew 脚本提供一致性环境 …
Build init types
pom 构建类型(Maven 转换)
能够转换一个Maven 构建到 Gradle 构建 …
仅仅具有有效的pom 才能进行转换,例如在当前目录中执行init 任务,那么pom.xml有效才会执行 …
如果通过 -p 指定了 命令行选项,在对应的项目目录中,这个 pom 类型将自动进行推断 …
如果文件存在的话 …
Maven 转换实现受到maven2gradle tool 启发 … 原来由社区成员开发 ..
转换过程有以下特点:
- 使用有效的POM 并且 有效配置(支持POM 继承, 依赖管理,属性) ..
- 支持单模块或者多模块构建
- 支持自定义的模块名称(不同于目录名称)
- 生成通用的元数据 -id / 描述 /版本
- 应用gradle maven publish plugin,The Java Plugin,War插件 ..(如果需要)
- 支持将war项目打包为jar ..(如果必要) ..
- 生成依赖(包括外部和中间模块)
- 生成下载仓库(包括,本地Maven 仓库)
- 调整Java 编译器配置
- 支持资源,测试,javadocs的打包 ..
- 支持TestNG runner
- 根据Maven enforcer 插件配置生成 global 排除 …
提供一个选项来处理使用Http的Maven 仓库 …点我
选项
—insecure-protocol
告诉转换程序 如何处理位于不安全的Http URLs的Maven 仓库转换 ..
默认值是 warn ..
必要值:
fail 立即中断(不允许不安全的仓库) …
allow 自动的设置allowInsecureProtocol 属性为true(将在生成的Gradle 构建脚本中为Maven 仓库URL 进行设置) ..
warn 提交警告,同样会生成注释 , 你可以选择注释生成的脚本中的对应不安全的仓库URL,否则构建失败 ..
upgrade 自动转换 http -> https
java-application
特性
- 使用application 插件 去产生一个命令行应用(由java 实现) ..
- 使用mavenCentral 依赖仓库
- 使用Junit 4 进行测试
- 约定生成源代码目录
- 包含简单的类以及单元测试,如果这里没有存在的元文件或者 测试文件 …
可选的测试框架能够通过参数值 —test-framework 进行应用 …
选项
- —test-framework
- junit-jupiter 使用 JUnit Jupiter
- spock 使用 Spock
- testing 使用 TestNG
例子:
gradle init --type java-application --test-framework junit-jupiter: Uses JUnit Jupiter for testing instead of JUnit 4
gradle init --type java-application --test-framework spock: Uses Spock for testing instead of JUnit 4
gradle init --type java-application --test-framework testng: Uses TestNG for testing instead of JUnit 4
java-library
特性
- 使用The Java Plugin 产生由java 实现的库
- 使用maven 中央仓库
- 使用Junit 4 测试
- 生成约定的源代码目录
- 包含一些简单的类和单元测试 (如果这里没有存在的源码和测试文件) ..
java-gradle-plugin
特性
- 使用 Gradle Plugin Development Plugin 去生成由java 实现的Gradle 插件 ..
- 使用maven 中央仓库
- 使用Junit 4 以及 TestKit 进行测试
- 生成约定源代码目录
- 简单的单元测试和类生成 …
basic
通常被用来创建一个全新的Gradle 构建 …
它将创建示例配置和构建文件 … 注释和链接可能有所帮助 ..