美文网首页
Gradle小览

Gradle小览

作者: jiaozi0203 | 来源:发表于2017-03-24 11:33 被阅读0次

Gradle概述

  • Gradle是构建项目的框架
  • Gradle最常见的对象为Project和Task
  • Project是整个构建项目的一个逻辑实体(多个Task的容器),而task就是项目的具体任务点(逻辑上的执行单位)
  • Gradle将当前目录下的build.gradle文件默认为项目的构建文件
  • Gradle会读取所有的build.gradle文件的所有内容来配置Project和Task等,先配置再运行
  • Gradle命令

gradle tasks --all 查看所有的task

Project

  • Gradle为project默认设置的属性:project:Project本身;path:Project绝对路径;name:Project名字;description:描述信息;buildDir:Project的输出目录
  • ext为Project添加新的Property
  • taskContainer为本Project中的所有task
  • Project中的tasks属性标识TaskContainer,project.tasks=taskContainer

Task

  • Task除了包含一系列的操作外,也可以包含很多属性
  • Task默认的属性:description,logger
  • 简单的task创建
# 先新建一个build.gradle
task helloGradle << {
  println "Hello,Gradle,nice to See You!"
}
# 在build.gradle目录下执行gradle helloGradle,将执行helloGradle这个Task
  • Task.configure()完成Property的设置
  • 对于每一个Task,Gradle都会构建一个同名的Property(该Task当做property访问)和同名函数(可用来配置Task)
  • 设置project和task的property,处理task之间的依赖关系,读取所有的build.gradle
  • Gradle为每一个Bean中每一个属性自动生成getter()和setter()方法
  • 定义属性
    def sources=filetree('sourceDir')
    def destination=file('destination')

插件

  • 插件其实就是让我们偷懒的,就是一组属性和任务的集合,自动定义一些sourcesSets和classPtah

Android Gradle Plugin

  • setting.gradle:include子模块
  • 根目录下build.gradle 包含一些通用设置,可在各个子模块中使用
  • gradle.properties:会成为Project的properties的成员
  • local.gradle:定义SDK和NDK路径
  • SourcesSets:主要包含各种类型代码的路径,比如“/src/main/java”
  • 配置属性 setProperty("hello","Hello Gradle!")

相关文章

网友评论

      本文标题:Gradle小览

      本文链接:https://www.haomeiwen.com/subject/psnxottx.html