关键词:
文章目录
gradle的特性
- 是一种通用的灵活的构建工具
- 对已有的 maven 和 ivy 仓库的全面支持
- 基于 groovy,其 build 脚本使用 groovy dsl 编写
- Gradle 的构建脚本是采用 Groovy 写的,而不是用 XML。
groovy语言的简单使用
println "hello word!"
//定义变量
def a = 12
println a
def s = "asdfasf"
println s
//定义一个集合
def list = ['a', 'b']
//向集合里添加元素
list << 'c'
//取出list中的第三个元素
println list.get(2)
//定义一个map
def map = ["key1":"value1", "key2":"value2"]
//向map中添加键值对
map.key3 = "value3"
//根据key取出value的值
println map.get("key3")
//grovvy中的闭包
//什么是闭包?闭包其实就是一段代码块。在gradle中,我们主要是把闭包当参数来使用。
// 定义一个闭包
def b1 =
println "hello b1"
//定义一个方法,方法里面需要闭包类型的参数
def method1(Closure closure)
closure()
//调用方法method1
method1(b1)
//定义一个带参数的闭包
def b2 =
v ->
println "hello $v"
//定义一个方法,方法里需要闭包类型的参数
def method2(Closure closure)
closure("canshu")
//调用method2
method2(b2)
执行结果:
hello word!
12
asdfasf
c
value3
hello b1
hello canshu
build.gradle 文件说明
// 项目归属和版本号
group 'com.tencent.pcg'
version '1.0-SNAPSHOT'
// buildscript中的声明是gradle脚本自身需要使用的资源。
// 可以声明的资源包括依赖项、第三方插件、maven仓库地址等
buildscript
repositories
maven url 'http://maven.oa.com/nexus/content/repositories/central'
dependencies
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.5.4.RELEASE")
// 使用 java 插件
apply plugin: 'java'
// 使用 springboot 框架
apply plugin: 'org.springframework.boot'
// 使用 Scala 插件
apply plugin: 'scala'
// 打的 jar 包的名称和版本信息
jar
baseName = 'data-qulity-guard'
version = '0.0.1'
// demo main程序入口
task run(type: JavaExec, dependsOn: classes)
main = 'com.tencent.pcg.ReadApiDemo'
classpath = sourceSets.main.runtimeClasspath
sourceCompatibility = 1.8
// 指定本地仓库 / 远程仓库 优先级从上往下
repositories
mavenCentral()
// 使用公司内部的远程仓库
maven url 'http://maven.oa.com/nexus/content/repositories/central'
maven url 'http://maven.oa.com/nexus/content/repositories/mqq/'
maven url 'http://maven.oa.com/nexus/content/groups/public/'
// 依赖配置,引入依赖的 kafka,scala
dependencies
compile("org.springframework.boot:spring-boot-starter-web:1.5.4.RELEASE")
compile("org.springframework.boot:spring-boot-starter:1.5.4.RELEASE")
compile("org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2")
compile("mysql:mysql-connector-java:5.1.21")
compile("org.scala-lang:scala-library:2.11.4")
testCompile("org.springframework.boot:spring-boot-starter-test")
compile("org.apache.kafka:kafka_2.11:0.8.2.1")
compile("qq-central:msg_fetch_api_3.0:1.0.0-SNAPSHOT")
exclude group: 'org.apache.kafka', module: 'kafka_2.10'
testCompile group: 'junit', name: 'junit', version: '4.12'
gradle脚本小总结(代码片段)
1.禁用taskgradle.taskGraph.whenReadytasks.eachtask->if(task.name.equalsIgnoreCase("transformClassesWithDelegateProguardTransformForRelease")||task.name.equalsIgnoreCase("transformClassesW 查看详情
gradle脚本小总结(代码片段)
1.禁用taskgradle.taskGraph.whenReadytasks.eachtask->if(task.name.equalsIgnoreCase("transformClassesWithDelegateProguardTransformForRelease")||task.name.equalsIgnoreCase("transformClassesW 查看详情
不一样的gradle多渠道配置总结2(代码片段)
...涉及的到一些groovy语法点,可在如下文章中找到&学习:《Gradle入门系列(一)——groovy基础语法》《不一样的Gradle多渠道配置总结》一、问题AndroidGradleplugin给Androidapk打包扩展了更多的可能性,其中多渠道打包是日常... 查看详情
gradle教程学习笔记(代码片段)
今天继续学习gradle的命令,首先可以用idea建立一个gradle的项目,然后会默认生成一段脚本,在这个脚本里面我引用了spring框架。首先来说一下具体的命令 -?,-h,--helpShowsthishelpmessage.-a,--no-rebuildDonotrebuildprojectdependencies.-b,--b... 查看详情
gradle学习(代码片段)
引入插件applyplugin:‘java‘applyplugin:‘war‘applyplugin:‘jetty‘ 如果希望使用jar来启动项目,可以这样修改项目和插件属性。applyplugin:‘java‘//当前项目版本version=0.1//项目兼容到java1.6版本sourceCompatibil... 查看详情
gradle脚本小总结(代码片段)
1.禁用taskgradle.taskGraph.whenReadytasks.eachtask->if(task.name.equalsIgnoreCase("transformClassesWithDelegateProguardTransformForRelease")||task.name.equalsIgnoreCase("transformClassesWithApplicationInjectForRelease"))task.enabled=falseprintln'####disabletask..'... 查看详情
c++学习(四一三)gradle离线配置offline(代码片段)
修改File->Settings->Build,Execution,Deployment->Gradle的配置修改gradle.properties,增加gradle.user.home=D:/Cache/.gradle 查看详情
gradle教程学习笔记(代码片段)
...西其实也差不多原理的。废话不多说这个也只是我的一个学习笔记而已,gradle来说任何东西在gradle上都是两个基本的概念,项目和任务,grad 查看详情
gradle使用总结(代码片段)
下载Gradle地址:GradleBuildToolgradleinit使用gradleinit即可创建一个gradle项目的骨架文件说明可以看到一共创建了2个目录和6个文件,其中2个目录和4个文件都跟wrapper有关:gradlew:linux或者Unix下用于执行wrapper命令的Shell... 查看详情
gradle使用总结(代码片段)
下载Gradle地址:GradleBuildToolgradleinit使用gradleinit即可创建一个gradle项目的骨架文件说明可以看到一共创建了2个目录和6个文件,其中2个目录和4个文件都跟wrapper有关:gradlew:linux或者Unix下用于执行wrapper命令的Shell... 查看详情
gradle学习笔记(代码片段)
Gradle学习笔记阅读《AndroidGradle权威指南》一书。整理的笔记和在阅读过程中所遇到的问题汇总。由于在练习的过程中,书中没有给出源码的路径。所以我在码云上新建了一个仓库,供大家学习交流。码云仓库地址注意事... 查看详情
androidgradle构建经验总结(代码片段)
...Gradle构建编译问题等,这里根据以往的踩坑经验做个总结,以方便大家日后能够更高效率的处理Gradle相关依赖的问题。一、依赖配置目前Gradle版本支持的依赖配置有:implementation、api、compileOnly、runtimeOnly和annotationProce... 查看详情
gradle学习总结——gradle之于maven有何优势
前言Gradle渐渐地火了起来,但是大部分人还在使用Maven,本文将对Gradle和Maven进行全面的比较,大家可以据此作为选型比较的依据。Maven和Gradle都属于“构建工具”,都是用来自动化工作,并把我们的源码编译... 查看详情
bruceeckel教你如何爬出gradle的“坑”?(代码片段)
...f0c;也对Gradle有了更深入的认识。本篇文章主要分享Bruce在学习Gradle时总结的一些方法论以及需要规避的陷阱,希望对你有帮助 查看详情
gradle学习(代码片段)
projects和tasks任何一个Gradle构建都是由一个或者多个project组成每个project都有多个tasks构成每个task都代表了构建执行过程中的一个原子性操作.例如编译打包构建一个gradle应用通过在命令行运行gradle命令来执行构建,gradle命令会从... 查看详情
androidstudio使用gradle引入第三方库文件的总结(代码片段)
...;接触到了各式各样的第三方库文件的引入,也是时候总结一波了。使用AndroidStudio开发Android应用时,避免不了需要借助Gradle引入各式各样的第三方库文件,帮助我们更好的开发App,常见的引入方式有:Jar文件... 查看详情
c++学习(四一二)gradle的buildscriptallprojects(代码片段)
1、buildscript里是gradle脚本执行所需依赖,分别是对应的maven库和插件2、allprojects里是项目本身需要的依赖,比如我现在要依赖我自己maven库的toastutils库,那么我应该将mavenurl'https://dl.bintray.com/calvinning/maven'写在这... 查看详情
gradle系列之构建脚本基础(代码片段)
...分别介绍了Gradle基础知识以及Groovy相关基础知识,这也是学习Gradle所必需了解的,文章链接如下::Gradle系列之初识GradleGradle之Groovy基础篇本文将对Gradle整体进行了介绍和学习,了解了Task、Project等相关概念以及对使用Gradle来构... 查看详情