Gradle build.gradle配置

每个构建脚本build.gradle都有一个默认的Project的实例,脚本中所有的操作都在project实例的作用域

1 项目信息

项目信息指项目的坐标

//group version为project的方法
//项目名称name在settings.gradle中
group 'com.kepus'
version '1.0-SNAPSHOT'

2 插件

插件带有任务/task,比如:war插件有war任务,war任务又依赖的compileJava, processResouces, classes任务

//apply为project的方法
apply plugin: 'java'  //java插件
apply plugin: 'war'   //war插件

3 JDK版本

//sourceCompatibility 为project实例的属性
sourceCompatibility = 1.8

4 仓库地址

按照配置顺序依次取
gradle 仓库地址介绍:https://blog.csdn.net/x_iya/article/details/75040806

//repositories是project一个方法,闭包作为参数
repositories {//本地仓库,地址是:D:/application/without/apache-maven-3.3.9/repomavenLocal()//应该是maven私服,此处设置为ali的,地址是urlmaven{url "http://maven.aliyun.com/nexus/content/groups/public"}//远程仓库,地址是https://repo1.maven.org/maven2mavenCentral()
}

5 依赖配置:

业务代码:编译/compile和运行runtime 2个阶段
测试代码:编译/compile和运行runtime 2个阶段
compile依赖的runtime一定依赖, runtime依赖的compile不一定依赖
业务代码依赖测试代码一定依赖,测试代码依赖的业务代码不一定依赖

//dependencies是project一个方法,闭包作为参数
dependencies {//2中依赖添加方式testCompile group: 'junit', name: 'junit', version: '4.12'//依赖冲突, logback依赖slf4j 1.7.25, log4依赖1.6.0 时 gradle会自动依赖最新版本compile "ch.qos.logback:logback-classic:1.2.3"
}

6 多项目构建

settings.gradle作用就是用于多项目构建

多项目构成:allProjects = root项目+各子项目

构建补充

每个构建(build.gradle)至少一个项目,每个项目一个或多个任务

项目/Project

一个项目代表一个组件(jar/war包),构建启动后Gradle会根据build.gradle实例化一个org.gradle.api.Project类

project属性group/name(artifact)/version属性的其他设置方法:ext或者直接在gradle.properties里面读取(一定是此名称)
project方法apply 应用插件dependencies 添加依赖repositories 添加仓库task 定义任务

任务/Task

任务是最小的工作单元,每个任务由动作和任务依赖组成,对应类 org.gradle.api.Task

Task方法dependsOn        添加依赖doFirst/doLast   定义动作  (任务可以看做一个动作列表)

生命周期
1. 初始化: 根据 build.gradle生成project
2. 配置: 生成task的依赖顺序和执行顺序 注意划分配置代码和执行代码
3. 执行: 执行task的动作代码

Gradle build.gradle配置相关推荐

  1. Gradle build.gradle 文件

    build.gradle 是一个 gradle 的构建脚本文件,支持 java.groovy 等语言. 每个 project 都会有一个 build.gradle 文件,该文件是项目构建的入口,可配置 ...

  2. Android Studio的Gradle常用命令配置和依赖管理

    一,gradlew常用命令 ./gradlew -v 版本号 ./gradlew clean 清除工程目录下的build文件夹 ./gradlew build 检查依赖并编译打包 这里注意的是 ./g ...

  3. build gradle settings 设置、读取变量

    需求 可以在 settings.gradle, build.gradle 文件中读取 根据变量 控制编译流程(用什么路径了) 1. 新建gradle文件 好处:settings.gradle.buil ...

  4. Kotlin基础 build.gradle.kts常见问题之compile

    网上有些视频教程讲解过程中,在讲解如何将Java和kotlin一起使用的时,在编辑build.gradle时,步骤如下: ① 修改build.gradle -> build.gradle.kts ...

  5. 【Android 修炼手册】Gradle 篇 -- Gradle 的基本使用

    预备知识 基本的 android 开发知识 了解 Android Studio 基本使用 看完本文可以达到什么程度 掌握 gradle 的基本使用 了解 gradle 及 android gradle ...

  6. android 多版本打包,Android build.gradle版本名打包配置的方法

    1.生成密钥文件到app工程目录下 2.在gradle.properties文件下配置密钥文件信息 # Project-wide Gradle settings. # IDE (e.g. Androi ...

  7. 【Android Gradle 插件】Module 目录下 build.gradle 配置文件 ( android 闭包块配置 | AppExtension 扩展类型参考文档 )

    文章目录 一.Module 目录下 build.gradle 配置文件 1.android 闭包块配置 2.AppExtension 扩展类型参考文档 Android Plugin DSL Refer ...

  8. 【Android Gradle 插件】工程根目录下 build.gradle 配置文件 ( 远程仓库配置 | 依赖配置 | 所有子模块配置 | task clean 任务 )

    文章目录 一.工程根目录下 build.gradle 配置文件 1.基本作用 2.远程仓库配置 3.依赖配置 3.所有子模块配置 4.task clean 任务 Android Plugin DSL ...

  9. 【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 拷贝 lib7zr.so 动态库到 Android Studio 工程 | 配置 build.gradle 构建脚本 )

    文章目录 一.拷贝 lib7zr.so 动态库到 Android Studio 工程 二.配置 Module 下的 build.gradle 构建脚本 三.参考资料 一.拷贝 lib7zr.so 动态 ...

最新文章

  1. java中字节输入流和输出流的简单使用例子
  2. boost::core::has_single_bit的测试
  3. C++文件操作之get/getline(待学)
  4. 如何利用结构化思维写好分析报告?
  5. Junit5新功能一览
  6. 【转】WCF请求应答(Request-Reply)、单向操作(One-Way)、回调操作(Call Back)
  7. 【摘转留用】35前要考虑的
  8. python用pandas读取数据时出现错误_Python Pandas错误标记数据
  9. 微型计算机机安装硬盘教程,台式机械硬盘怎么安装?机械硬盘安装图解教程(SATA固态可参考)...
  10. linux下python网络编程框架-twisted安装手记,Linux下Python网络编程框架-Twisted安装手记 | 学步园...
  11. 超分辨重建-Bicubic双三次线性插值opencv实现
  12. JS中同时支持切割中英文符号,例如分号,冒号
  13. 1741. Communication Fiend(dp)
  14. JavaScript-射击比赛成绩单编程
  15. 【蓝桥杯省赛JavaB组真题详解】立方变自身(2015)
  16. 视频号哪些领域值得做变现机会更大:国仁楠哥
  17. 问题 2111: 连环阵
  18. MSF外网渗透+shellcode免杀
  19. 远程视频专家系统,指导系统方案整理
  20. 云图说丨数字资产链:您的数字资产产权保护神

热门文章

  1. 在markdown下用mma画函数图像
  2. 预计每天全世界上传的短视频超过4亿条
  3. 一分钟学会自定义右上角显示数字的ImageView
  4. zabbix启用企业微信告警的脚本
  5. VS2017 -error LNK1104: 无法打开文件“msvcprtd.lib”
  6. web爬虫学习(四)——手机APP爬取
  7. Windows Server 2016搭建文件服务器
  8. 物联网的七大通信协议
  9. Conflict with dependency com.android.support-annotations' in project':app'.Resolved ...解决方法
  10. Systrace 基础知识 - 锁竞争解读