zoukankan      html  css  js  c++  java
  • Gradle——创建简单的项目

    项目 & 任务

    Gradle 的一切都是基于项目和任务的。

    构建由一个或多个项目组成。项目的概念很抽象,它取决于你要用Gradle 做什么 。项目可以是 一个 Jar 库或者一个 web 程序。也可以是一个 zip 压缩包,也可以是将项目部署到生产环境等等;

    一个项目是由一个或多个任务组成的;任务是构建工作的原子单位,最小的工作单元。例如:编译字节码,创建 jar 。

    Hello World

    创建一个简单的任务,输出 Hello World!.

    Groovy

    task hello{
        doLast {
    	    println 'Hello World.'
    	}
    }
    

    Kotlin

    tasks.register("hello"){
        doLast {
    		println ("Hello World.")
    	}
    }
    

    输入命令 运行该任务

    gradle hello
    

    行结果

    创建一个简单的构建

    新建一个目录

    使用 init 命令创建构建项目

    Gradle 现在支持两种--Kotlin DSL 和 Groovy DSL .默认是 基于Groovy的,如果要使用 Kotlin 可以 使用 --dsl kotlin

    gradle init --dsl kotlin
    

    初始化

    会生成如下目录

    生成的目录

    其中 .gitigonre 是 git 忽略文件;.gradle 是 gradle 的一些信息。

    需要我们关注的是下面这些文件

    ├── cradle
    │ └── wrapper
    │ ├── gradle-wrapper.jar
    │ └── gradle-wrapper.properties
    ├── build.gradle.kts
    ├── gradlew
    ├── gradlew.bat
    └── settings.gradle.kts

    • warpper 是 Gradle Wrapper 使用的目录
    • gradle-wrapper.jar 是执行 Gradle Wrapper 使用的
    • gradle-wrapper.properties 是 配置 Gradle Wrapper 属性的
    • build.gradle.kts 用于配置当前项目的Gradle构建脚本
    • gradlew 是 Unix 机器上的 执行脚本
    • gradlew.bat 是 window 上的执行脚本
    • settings.gradle.kts 是 用于配置Gradle构建的Gradle设置脚本

    创建任务

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

    Gradle提供了一个任务库,我们可以在自己的项目中配置这些任务。例如,有一个核心类型的 Copy 任务,它可以复制文件。
    下面我们就配置这个 任务来使用一下。

    创建一个目录 src
    在 src 下创建一个文件名称任意,例如 myFile.txt。添加任意内容,例如 Hello World!
    在 配置脚本(build.gradle.kts) 添加 一个 Copy 类型的 copy 任务,从 src 目录复制到 dest 目录

    Gradle 在执行时会自动创建 dest 目录。

    Kotlin

     tasks.register<Copy>("copy"){
         description = "Copies sources to the dest directory"
         group = "Custom"
         from("src")
         into("dest")
    	
     }
    

    Groovy

    task copy(type: Copy, group: "Custom", description: "Copies sources to the dest directory") {
        from "src"
        into "dest"
    }
    

    description 和 group 都是可选的,可以随便你定义;也是可以省略的;

    执行 copy 任务

    gradle copy
    

    检查里面的 myFile.txt 是否复制完成。

    使用插件

    Gradle 提供了大量的插件,在 Gradle 插件站 可以查到

    今天使用 一个 base 插件 结合它的核心类型 Zip 任务,实现打包压缩包的任务。

    使用 base 插件

    Kotlin

    plugins {
        id("base")
    }
    
    ... rest of the build file ...
    

    Groovy

    plugins {
        id "base"
    }
    
    ... rest of the build file ...
    

    创建一个 zip 任务,扩展自 核心类型 Zip

    Kotlin

    tasks.create<Zip>("zip") {
        description = "Archives sources in a zip file"
        group = "Archive"
    
        from("src")
        setArchiveName("basic-demo-1.0.zip")
    }
    

    Groovy

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

    执行 zip

    gradle zip
    

    至此,一个简单的构建完成了。

    分析构建过程

    Gradle 提供了一个基于 web的构建视图——构建扫描

    在执行时 使用 --scan 选项或者明确使用构建扫描插件都可以免费的在 https://scans.gradle.com 创建一个扫描视图分析

    gradle zip --scan
    

    在同一服务条款后会直接发送到 构建扫描的平台,复制下面的连接打开即可。

    构建扫描

    打开之后会有详细的项目构建分析

    构建分析

    End

  • 相关阅读:
    Python startswith()函数 与 endswith函数
    Oracle spool 小结
    表空间(TableSpace)
    Python logger模块
    Mysql rpm安装
    Python json与pickle
    Python 生成器总结
    Python 装饰器的总结
    eclipse 乱码问题总结
    Eclipse 中出现红色下划波浪线与红色感叹号
  • 原文地址:https://www.cnblogs.com/skymxc/p/create-basic-project.html
Copyright © 2011-2022 走看看