热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Gradle入门教程(机翻自官网)

首先可以gradlehelp了解一下常用的命令.gradlehelpTask:helpWelcometoGr

首先可以gradle help 了解一下常用的命令.

gradle help

> Task :help

Welcome to Gradle 6.3.

To run a build, run gradle  ...

To see a list of available tasks, run gradle tasks

To see a list of command-line options, run gradle --help

To see more detail about a task, run gradle help --task 

For troubleshooting, visit https://help.gradle.org

Tasks 命令列出了可以调用的 Gradle 任务,包括由基础插件添加的任务,以及刚刚添加的自定义任务。

❯ ./gradlew tasks

> Task :tasks

------------------------------------------------------------
All tasks runnable from root project
------------------------------------------------------------

Archive tasks
-------------
zip - Archives sources in a zip file

Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
clean - Deletes the build directory.

Build Setup tasks
-----------------
init - Initializes a new Gradle build.
wrapper - Generates Gradle wrapper files.

Custom tasks
------------
copy - Simply copies sources to a the build directory

Help tasks
----------
buildEnvironment - Displays all buildscript dependencies declared in root project 'basic-demo'.
components - Displays the components produced by root project 'basic-demo'. [incubating]
dependencies - Displays all dependencies declared in root project 'basic-demo'.
dependencyInsight - Displays the insight into a specific dependency in root project 'basic-demo'.
dependentComponents - Displays the dependent components of components in root project 'basic-demo'. [incubating]
help - Displays a help message.
model - Displays the configuration model of root project 'basic-demo'. [incubating]
projects - Displays the sub-projects of root project 'basic-demo'.
properties - Displays the properties of root project 'basic-demo'.
tasks - Displays the tasks runnable from root project 'basic-demo'.

Verification tasks
------------------
check - Runs all checks.

Rules
-----
Pattern: clean: Cleans the output files of a task.
Pattern: build: Assembles the artifacts of a configuration.
Pattern: upload: Assembles and uploads the artifacts belonging to a configuration.

To see all tasks and more detail, run gradlew tasks --all

To see more detail about a task, run gradlew help --task 

BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed

快速入门- Analyze and debug your build

Gradle 提供了一个简单的 Java 项目,您可以使用它来演示构建扫描功能。 如果你想使用它,克隆或下载存储库。

$ git clone https://github.com/gradle/gradle-build-scan-quickstart
Cloning into 'gradle-build-scan-quickstart'...
$ cd gradle-build-scan-quickstart

从 Gradle 4.3开始,您可以启用构建扫描,而无需在构建脚本中进行任何附加配置。 当使用命令行选项—— scan 发布构建扫描时,所需的构建扫描插件将自动应用。 在构建结束之前,您被要求在命令行上接受许可协议。 下面的控制台输出演示了该行为。

$ ./gradlew build --scan

如果你浏览你的构建扫描,你应该能够很容易地找出什么任务被执行,他们花了多长时间,哪些插件被应用,等等。 下次在 StackOverflow 上调试某些内容时,考虑共享构建扫描。

Creating New Gradle Builds 创建新的 Gradle 构建

❯ mkdir basic-demo
❯ cd basic-demo
❯ gradle init 
Gradle 入门教程(机翻自官网)

Gradle 提供了通过 Groovy 或基于 kotlin 的 DSL 创建和配置任务的 api。 Project 包括一组 Tasks,每个 Tasks 执行一些基本操作。

Gradle 提供了一个任务库,您可以在自己的项目中进行配置。 例如,有一种名为 Copy 的核心类型,它将文件从一个位置复制到另一个位置。 Copy 任务非常有用(有关详细信息,请参阅文档) ,但是在这里,让我们再次保持它的简单性。 执行以下步骤:

  1. 创建一个名为 src 的目录。
  2. 在 src 目录中添加名为 myfile.txt 的文件。 内容是任意的(甚至可以为空) ,但为了方便起见,添加单行 Hello,World! 对它。
  3. 在 build.gradle 文件中,在构建文件中定义一个名为 Copy of type Copy (注意大写字母)的任务,该任务将 src 目录复制到名为 dest 的新目录。 (您不必创建 dest 目录ー任务会为您完成。)
task copy(type: Copy, group: "Custom", description: "Copies sources to the dest directory") {
    from "src"
    into "dest"
}

在这里,groupdescription可以是任何你想要的。 您甚至可以省略它们,但这样做也会在任务报告中省略它们,以后再使用。

现在执行新的复制任务:

❯ ./gradlew copy
> Task :copy

BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed

执行zip命令, 了解 Apply a plugin 使用插件

包括了一系列插件,更多的插件可以在 Gradle 插件门户网站上找到。 发行版中包含的插件之一是“basic插件。 结合名为 Zip 的核心类型,可以使用已配置的名称和位置创建项目的 Zip 归档。

plugins {
    id "base"
}

task zip(type: Zip, group: "Archive", description: "Archives sources in a zip file") {
    from "src"
    setArchiveFileName "basic-demo-1.0.zip"
}

基础插件使用设置在 build / distribution 文件夹中创建一个名为 basic-demo-1.0.zip 的归档文件。

❯ ./gradlew zip
> Task :zip

BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed

Discover available properties 发现可用属性

❯ ./gradlew properties

输出是广泛的,下面是一些可用的属性:

> Task :properties

------------------------------------------------------------
Root project
------------------------------------------------------------

buildDir: /Users/.../basic-demo/build
buildFile: /Users/.../basic-demo/build.gradle
description: null
group:
name: basic-demo
projectDir: /Users/.../basic-demo
version: unspecified

BUILD SUCCESSFUL

Buildfile 属性是构建脚本的完全限定路径名,默认情况下位于 projectDir 中。

您可以更改许多属性。 例如,您可以尝试将以下行添加到构建脚本文件中,并重新执行 gradle 属性。

description = "A trivial Gradle build"
version = "1.0"

推荐阅读
  • 本文详细介绍如何在Android模拟器上安装TaintDroid的过程,包括解决源代码链接失效及服务器文件变动等问题,旨在帮助后续用户避免不必要的麻烦。 ... [详细]
  • OpenWrt 是一款高度可定制的嵌入式 Linux 发行版,广泛应用于无线路由器等领域,拥有超过百个预装软件包。本文详细探讨如何在 OpenWrt 上通过 Luci 构建自定义模块,以扩展其功能。 ... [详细]
  • Python 语言本身并不直接支持数组结构,但可以通过 Python 列表(List)来实现类似的功能。对于需要数组特性的应用,还可以考虑使用 NumPy 库。 ... [详细]
  • 本文详细介绍了在Hive中创建表的基本语法,包括临时表、外部表的创建方法,以及如何设置表的各种属性和约束条件。 ... [详细]
  • Windows 平台 Ruby on Rails 安装指南
    本文详细介绍如何在 Windows 系统上安装 Ruby 及其开发框架 Rails,包括必要的环境配置和组件安装。 ... [详细]
  • Kafka 示例项目中 Log4j 的配置与调试
    本文详细介绍了如何在 Kafka 源码中的示例项目配置 Log4j,以确保能够正确记录日志信息,帮助开发者更好地理解和调试代码。 ... [详细]
  • 本文介绍了如何处理在使用 aiohttp 进行 HTTPS 请求时遇到的 SSL 证书验证错误,包括忽略证书验证和使用自定义证书的方法。 ... [详细]
  • Shiro功能拓展:登录失败重试次数限制
    本文详细介绍了如何在Apache Shiro框架中实现对用户登录失败重试次数的限制,通过自定义密码匹配器来增强系统的安全性。该方法不仅能够有效防止暴力破解攻击,还能确保合法用户的账户安全。 ... [详细]
  • 本文介绍了如何在 Linux 系统上构建网络路由器,特别关注于使用 Zebra 软件实现动态路由功能。通过具体的案例,展示了如何配置 RIP 和 OSPF 协议,以及如何利用多路由器查看工具(MRLG)监控网络状态。 ... [详细]
  • CentOS 7.6环境下Oracle 11g的数据泵操作与nmon性能监控
    本文详细介绍在CentOS 7.6操作系统中使用Oracle 11g的数据泵(Data Pump)进行数据的导入导出操作,并介绍如何通过nmon工具进行系统性能的监控与分析。 ... [详细]
  • 本文旨在分享将Hadoop集群从Windows环境迁移到Linux环境过程中遇到的技术难题及其解决方案,以帮助同行或未来的学习者避免类似问题。 ... [详细]
  • 使用 Docker 部署带有权限认证的 Elasticsearch
    本文介绍如何通过 Docker 容器化部署 Elasticsearch,并集成一个免费的社区插件 ReadonlyREST 实现基本的权限认证功能。 ... [详细]
  • 本文介绍了一种通过HTML和JavaScript实现的网页分享功能,支持多个社交平台,包括微信、新浪微博、QQ空间等,方便用户将网页内容快速分享至不同的社交网络。 ... [详细]
  • KKCMS代码审计初探
    本文主要介绍了KKCMS的安装过程及其基本功能,重点分析了该系统中存在的验证码重用、SQL注入及XSS等安全问题。适合初学者作为入门指南。 ... [详细]
  • 本文档详细介绍了服务器与应用系统迁移的策略与实施步骤。迁移不仅涉及数据的转移,还包括环境配置、应用兼容性测试等多个方面,旨在确保迁移过程的顺利进行及迁移后的系统稳定运行。 ... [详细]
author-avatar
桑正青0V1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有