再遇gradle

  • Overview

    初识gradle||安装||初级使用

  • 通俗理解gradle

    不同的软件发布渠道,不同的手机型号,不同的依赖导致的繁琐工作,都可以通过Gradle解决。

    Gradle是一种构建工具,可以帮你管理项目中的差异,依赖,编译,打包,部署…你可以定义满足自己需要的构建逻辑,写入到build.gradle中供日后复用。

    Grdle并不是一种编程语言,它不能帮你实现软件中的任何实际功能。

  • ant

    ant可以自动化打包逻辑

  • maven

    maven可以自动化打包逻辑的同事,又能自动下载jar包。

    Gradle既能干maven的活,又能干ant的活。

    Gradle不单单是一个配置脚本,它的背后是几门语言:

    1. Groovy Language
    2. Gradle DSL
    3. Android DSL
  • Gradle的基本构成

    ProjectTaskGradle的两个基础概念:

    • Project,是指我们的构建产物(如jar包)或实施产物(将应用程序部署到生产环境)
    • Task,指不可分的最小工作单元,执行构建工作

    每一个构建都是由一个或多个projects构成的,每一个project是由一个或多个task构成的。

  • Gradle构建系统的组成

    任何一个构建系统都是由多个构建文件组成:

    • Ant由build.xml组成
    • Maven由pom.xml组成
    • Make由makefile组成
    • Gradle由build.gradle settings.gradle gradle.properties构成
      1. build.gradle 构建脚本,定义了一个模块和编译用的tasks,一般是放在项目的模块中,也可以放在项目的根目录中用来作为编译结构全局设置,是必须的
      2. setting.gradle 是必须的。为了定义一个多项目构建,你需要创建一个设置文件,放在源代码的根目录,用于指定要包含哪个项目。
      3. gradle.properties用来配置构建属性,非必须
  • Gradle插件

    Gradle的设计理念是,所有有用的特性都由Gradle插件提供。

    groovy插件,其扩展了Java插件,加入了编译Groovy的依赖;

    war插件实在java插件的基础上扩充的,用来构建WAR文件;

    Jetty插件实在War插件的基础上扩充的,语序用户将网页应用发布到一个介入的Jetty容器里。

  • Gradle运行过程

    可以通过gradle命令运行一个Gradle构建gradle命令会在当前目录中查找一个叫build.gradle的文件,这个build.gradle文件称为构建脚本。

    # 创建文件build.gradle
    task hello {
    	doLast {
    		println 'Hello World!'
    	}
    }
    # 命令行运行
    > gradle -q hello # -q是quiet模式,不产生gradle的日志信息
    Hello World!
    

    此处,构建脚本build.gradle定义了一个独立的task,叫做hello,然后加入了一个action,当命令行中运行gradle helloGradle执行叫做hellotask,也就是执行了taskaction,这个action是一个包含了一些Groovy代码的闭包closure

    > gradle build 这里的buildplugin java内置的任务taskgradle clean, gradle assemble, gradle check, gradle properties同上。

    > gradle compile test # 实现一次调用多个`task`,`compile`, `test`会被依次调用。
    > gradle dist -x test # 命令行选项-x用来排除某些任务
    > gradle --continue # --continue选项,某任务调用失败后继续执行后续任务,以期发现跟多错误
    > -b # -b参数用于选择其他目录的构建文件,且settings.gradle将不会生效
    > -p # -b是指定脚本,-p是指定脚本所在的目录
    > gradle projects # 列出子项目名称列表
    > gradle tasks # 列出项目中所有任务
    > gradle tasks --all # --all 列出项目中所有任务以及任务之间的依赖关系
    > gradle help --task someTask # 显示指定任务的详细信息
    > gradle dependencies # 列出项目的依赖列表
    > gradle dependencyInsight # 查看指定的依赖
    > gradle properties # 获取项目所有属性列表
    > gradle --profile # 收集构建期间的信息并保存到build/reports/profile目录下,以构建时间命名
    > gradle -i # INFO log
    > gradle -d # DEBUG log
    
  • Gradle仓库

    Gradle会在一个repository里找到各种依赖文件。

    repository就是文件的集合,通过group, name, version 整理分类。

    Gradle能解析出好几种不同的仓库形式,比如mavenivy,同时可以理解各种进入仓库的方法,比如使用本地文件系统或者HTTP。

  • 项目属性||变量

    project对象提供了一些标准属性:project, name, path, description, projectDir, build, group, version, ant

    Gradle构建脚本中有两种类型的变量:

    • 局部变量(local), def
    • 扩展变量(extra)。
  • Gradle Build Language References

    Gradle scripts are configuration scripts.

    As the script executes, it configures an object of a particular type.

  • References

  1. 知乎:如何通俗地理解 Gradle?
  2. Gradle的基本使用(一)) (
  3. Gradle User Manual
  4. Gradle Started
  5. Building Java Application Sample
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值