
Gradle学习
通过讲解最新版本的Gradle-4.5的详细知识,让读者可以完美的驾驭Gradle,解决构建过程中遇到的各种各样的问题
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
吴冬冬
此处省略300字
展开
-
Gradle学习(二十五)——依赖管理术语
依赖管理有大量的术语,为了方便理解整个依赖管理的过程,我们先要理解一下相关的术语配置配置是一组实现特殊目的的依赖项集合:比如implementation配置表示编译项目的一组依赖集合。配置可以访问底层的已经解析的模块和他们的构件。依赖依赖是指向另一个需要构建,测试和运行的软件的指针。依赖约束依赖约束定义了模块可以正常解析所需要的一些约束条件,比如依赖约束可以缩小...原创 2018-04-08 11:50:28 · 568 阅读 · 0 评论 -
Gradle学习(二十四)——依赖管理简介
什么是依赖管理软件很少独立工作。在大多数情况下,项目都要依赖于lib形式的可重用功能,还有就是项目可能被切分成多个单独的模块来构成模块化系统。依赖管理是一种可以让项目可以自动化得定义,解析,使用依赖的技术。Gradle中的依赖管理Gradle内置支持依赖管理,并且实现了现代软件项目的各种典型的场景。之后的几章会通过示例项目来讲解依赖管理的主要概念,下面的图可以让大家有个模糊的概念...原创 2018-03-30 10:57:04 · 835 阅读 · 0 评论 -
gradle学习(二十三)——自定义任务类
title: “Gradle学习(二十三)——自定义任务类” date: “2018-03-21” description: “Gradle提供两种类型的任务,一种是简单的任务,它在action的闭包中定义。对于这种任务,action闭包就决定了任务的行为。这类任务适合在构建脚本中实现一次性的任务。另一种任务就是增强型的任务,行为被构建到任务中,任务提供了一些行为,你可以通过这些属性来配置...原创 2018-03-26 15:18:31 · 1078 阅读 · 0 评论 -
Gradle学习(二十二)——使用Gradle插件
Gradle的核心并没有为构建的自动化提供太多直接的帮助,更多的特性是由插件完成的。比如编译java代码也是由插件完成的。插件可以增加新的任务(比如JavaCompile),domain对象(比如SourceSet),约定(比如,java代码放在src/main/java),以及一些其他的对象,也包括从其他插件扩展出来的对象。插件的作用把插件应用到项目中可以扩展项目的功能,它可以做以下...原创 2018-03-21 17:57:16 · 6873 阅读 · 0 评论 -
Gradle学习(二十一)——用TestKit测试构建逻辑
用法想使用TestKit,需要在构建脚本中引入:dependencies { testCompile gradleTestKit()}gradleTestKit()方法包含TestKit的class文件,还有Gradle Api的客户端工具类,但是并不包含JUnit,TestNG等测试工具的类,用GradleRunner进行功能性测试GradleRunner有...原创 2018-03-10 16:45:11 · 2193 阅读 · 0 评论 -
Gradle学习(二十)——多项目构建详解
跨项目配置虽然子项目之间可以完全隔离单独配置,但是子项目直接有相同特征的情况也是很常见的,多个项目共享配置是更好的选择。配置和执行在gradle学习-十八-构建的生命周期这一篇中我们已经讲过Gradle构建过程中的各个阶段,我们继续扩展到多项目构建,来看看多项目构建中的配置阶段和执行阶段。这里所说的配置指的就是build.gradle文件的执行,这意味着下载所有使用apply pl...原创 2018-02-22 15:20:51 · 1664 阅读 · 1 评论 -
Gradle学习(十九)——日志
日志是构建工具的重要部分,如果信息打印的太多,关键性的错误和警告就会被淹没,也就是说你需要更加相关的信息来确定发生了什么错误。Gradle总共分了6个日志级别,和你通常看到的不一样,多了QUIET和LIFECYCLE级别,LIFECYCLE还是默认的日志级别,主要用于输出构建进程的信息。日志级别 级别 用途 ERROR 错误消息 QUIET 重要信息的原创 2018-01-31 14:54:39 · 1434 阅读 · 0 评论 -
Gradle学习(十八)——构建的生命周期
Gradle的核心是一种依赖可编程的语言,用Gradle术语来说就是你可以定义任务也可以定义任务之间的依赖。Gradle可以保证这些任务按照他们的依赖关系顺序执行,并且每个任务只执行一次。这些任务构成了一个有向无环图,构建工具以这样的依赖关系图来执行任务。在执行任务之前,Gradle需要先构建这样的依赖关系图。这就是Gradle的核心,是很多事情成为可能。构建脚本配置了这个依赖图,因此严格来说原创 2018-01-13 21:09:58 · 1801 阅读 · 0 评论 -
Gradle学习(十七)——Ant操作
转载请注明:http://blog.youkuaiyun.com/lastsweetop/article/details/79043654简介Gradle提供了与Ant的完美集成,你可以在Gradle构建中使用单个Ant任务或者全部由Ant构建。在Gradle的构建脚本里写Ant要比原来在xml中更加的简易而且还强力,强大到你可以把Gradle只是Ant的脚本工具Ant可以分为两层:第一层是Ant原创 2018-01-12 14:28:46 · 1920 阅读 · 0 评论 -
Gradle学习(十六)——文件操作
转载请注明出处:http://blog.youkuaiyun.com/lastsweetop/article/details/79038161构建的大部分工作是基于文件的,Gradle提供了一些api和概念来帮助你来进行操作检索文件你可以通过以项目目录为baseDir的相对路径来检索文件://相对路径File configFile = file 'src/config.cson'//绝原创 2018-01-11 20:20:45 · 2266 阅读 · 0 评论 -
Gradle学习(十五)——增量构建
Up-to-date检查(AKA增量构建)任何构建工具最重要的一个功能就是防止做重复工作。例如对于编译进程来说,如果已经执行了一次编译,那么就不需要再进行第二次,除非发生了一些会影响输出的操作,比如源代码改了或者输出被删掉了,编译会消耗很多时间,如果没必要去的情况下跳过这原创 2018-01-10 16:35:36 · 8977 阅读 · 3 评论 -
Gradle学习(十四)——任务详解
转载请注明出处:http://blog.youkuaiyun.com/lastsweetop/article/details/79005417之前的文章已经将了一下任务的基础知识,包括创建简单的任务,以及任务的依赖,本文将进一步的讲解一些任务的详细知识任务结果当Gradle执行任务时,就会因为不同的结果给这些任务打上不同的标签,这些标签表示任务是否有动作需要执行,任务是否应该执行了动作,任务是否执原创 2018-01-08 17:34:47 · 1774 阅读 · 0 评论 -
Gradle学习(十三)——构建脚本详解
转载请注明出处:http://blog.youkuaiyun.com/lastsweetop/article/details/78982312Gradle的构建语言Gradle使用DSL来描述构建,是基于Grooy并在之上进行了扩展,以便更易于描述构建。Gradle可以支持Groovy除了label外的任何元素,脚本文件需要是UTF-8编码的Project的Api我们之前说过在Gral原创 2018-01-05 15:58:06 · 1254 阅读 · 0 评论 -
Gradle学习(十二)——Build Init插件
Gradle的Build Init插件可以作为创建新Gradle项目的引导程序,它支持创建不同类型的全新项目,也可以把存在的项目转变为Gradle项目,比如Maven项目。Gradle的插件在使用之前通常需要apply一下,但是Gradle的Build Init原创 2018-01-04 17:01:16 · 1739 阅读 · 0 评论 -
Gradle学习(十一)——构建脚本基础知识
Gradle的所有都是基于两个基础概念:项目和任务每个Gradle构建是由一个或者多个项目构成的,项目表示什么取决于你用Gradle做什么。比如,项目可以表示jar库或者web程序。它也可以表示由其他项目生产的jar包后打包成的发布zip包。一个项目不一定非要表原创 2018-01-03 16:26:22 · 1669 阅读 · 0 评论 -
Gradle学习(十)——构建缓存
建缓存是一种缓存机制,目的是为了通过重用上一次构建的输出来节省构建时间。构建缓存机制把构建的输出存储在本地或者远程,当确认本次构建的输入没有改变那么它将会使用构建的缓存作为输出。构建缓存的第一个功能是任务输出缓存,任务输出和up-to-date检查本质原创 2018-01-02 17:45:27 · 3491 阅读 · 0 评论 -
Gradle学习(九)——构建环境
gradle.properties配置构建环境为了更容易的配置用于构建的java进程,Gradle提供了几个选项。你可以在本地环境中配置GRADLE_OPTS或者JAVA_OPTS,比如JVM内存设置,JAVA_HOME,守护进程是否开启,如果这些可以通过版本控制那就原创 2017-12-27 17:41:33 · 1258 阅读 · 0 评论 -
Gradle学习(八)——复合构建
一个包含了其他构建的构建,很多时候和多项目构建非常相似,但是它包含的不是完整的项目,而是完整的构建。组合构建可以做到以下两点:和比较独立的开发进行组合构建,比如修复一个项目中引用的lib库把非常大的工程切成几个小块,各个小块直接是可以独立工作的复合构建原创 2017-12-26 19:59:56 · 2336 阅读 · 0 评论 -
Gradle学习(七)——持续构建
会指定要执行的任务让Gradle来执行。Gradle会分析你给出的任务需要执行的所有任务集合,按照顺序全部执行他们,然后停下来等你的下一次指令。持续集成则不同,它会按照你给出的任务指令,不断的分析构建结果是否过期,如果过期则会再次执行构建,除非你强制让它停下原创 2017-12-25 09:41:35 · 3130 阅读 · 0 评论 -
Gradle学习(六)——多项目构建
只有一个的构建文件和资源层级的通常是很小的项目,很少有一个超大而且还是不可分割的项目。把一个项目拆分成几个相互依赖的小项目更容易有助于理解,相互依赖很重要,可以通过一次构建过程把多个项目构建起来。在Gradle中,这叫做多项目构建。多项目构建的结构多项目构建的结构可以能有多原创 2017-12-22 18:43:09 · 1840 阅读 · 0 评论 -
Gradle学习(五)——依赖管理基础
粗略的说,依赖管理就干两件事:1.Gradle需要知道项目跑起来需要哪些玩意,并且按顺序找到它们,并把他们导入到工程中。2.Gradle还需要把项目的输出上传到其他地方。我们把这些需要上传的文件叫做产出。大多数项目都不是完全独立的,在运行和测试过程中都需要额原创 2017-12-22 16:40:42 · 1408 阅读 · 0 评论 -
Gradle学习(四)——Gradle守护进程
gradle是跑在JVM上的,需要的几个lib需要比较长的初始化时间,因此使用的时候有时候会显得很慢。解决的方案就是跑一个gralde的守护进程:一个后台运行的进程,可以让你的构建快很多。我们通过将你的项目信息作为缓存保留在内存中,来规避消耗昂贵的引导过程。你只需要选原创 2017-12-21 16:03:37 · 3687 阅读 · 0 评论 -
Gradle学习(三)——Gradle Wrapper
构建如果你的Gradle项目设置了Wrapper,那么你就需要在root项目中运行以下命令中的一个去执行构建:./gradlew <task> (Linux或者macOS)gradlew <task> (Windos)每个Wrapper都绑定了一原创 2017-12-21 11:21:34 · 2373 阅读 · 0 评论 -
Gradle学习(二)——命令行
gradle命令可以同时执行多个任务,参数为任务列表,参数列表中的任务会按顺序执行,例如gradle compile test,compile任务和test任务都会被执行,包括test依赖的任务,但要注意的一点是,同一个任务只会执行一次,不管是列表中的任务,还是原创 2017-12-20 17:52:03 · 9918 阅读 · 0 评论 -
Gradle学习(一)——简介
基于apache Ivy的,任务和构建是基于ant的,脚本是用groovy的,如果你之前已经非常了解这三样的话,那么你已经学会了30%优点比之前的构建系统更优的有几点: 1. 更为强大的多项目支持 2. 完美兼容maven项目和lvy项目 3. 不需要原创 2017-12-19 17:43:27 · 1813 阅读 · 0 评论