支持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

这个插件增加了以下的任务到项目中:

依赖于 wrapper
生成一个Gradle 构建 …

生成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

指定构建类型 …
例如:

  1. 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 进行应用 …

选项

例子:

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 构建类型

java-gradle-plugin

同上,显式指定

特性

  • 使用 Gradle Plugin Development Plugin 去生成由java 实现的Gradle 插件 ..
  • 使用maven 中央仓库
  • 使用Junit 4 以及 TestKit 进行测试
  • 生成约定源代码目录
  • 简单的单元测试和类生成 …

其他的插件感兴趣在填充 …

basic

通常被用来创建一个全新的Gradle 构建 …
它将创建示例配置和构建文件 … 注释和链接可能有所帮助 ..