第二十二天:试写 Gradle Plugin

在使用了 Gradle 这麽多天後,您应该会发现,几乎所有的专案都至少会用到几个 Plugin 来增加一些常用的任务。不过,如何前面所提的,每个专案都是独一无二的,总是会有一些状况需要客制化的任务。而当团队在维护多个专案时,这些客制化任务又有可能重复,这时,就是开发自己的 Gradle Plugin 的时刻啦!今天笔者就带着大家探索一下如何写出自己的 Gradle Plugin。

Plugin 架构

要写一个 Plugin 的话,我们需要有哪些架构呢?

  1. Plugin 类别:这定义当套用 Plugin 时会有什麽行为?可能是建立一些可以在建置过程中执行的任务,或者是配置建置的方式。在 file-diff Plugin 的例子里,我们试着增加一个任务来进行 diff
  2. Extension 类别:这是一个 Data 物件,代表在 build.gradle.kts 里的设定。在 file-diff Plugin 的例子里,它将包括 2 个会被拿来比档案大小的输入
  3. 任务类别

参考资料


<<:  【程序】戒骄戒躁 转生成恶役菜鸟工程师避免 Bad End 的 30 件事 - 14

>>:  [Day 13] C#改造程序码( Func<T, TResult> )教学(下)

企划实现(21)

接续上篇继续提到关於有限公司以及股份有限公司的差别。 有限公司以及股份有限公司除了制度会有差别外,责...

全端入门Day01_前言

今天是铁人赛的第一天,这是我第一次参赛,之前听了很多同学说这是个需要有毅力的比赛,我相信我一定能够撑...

第15车厢-data-*的坑?data-*介绍篇

本篇介绍data-*常用抓取方法,以及需注意的地方 我们在<第9车厢-使用content:a...

CSS微动画 - 不使用图片制作「加到最爱」开关按钮

Q: 请问icon要怎麽出图好呢? A: 一定要用图片吗? 本篇要实作的是「加到最爱」的按钮,结合...

Day 13 Section Summary

Computer vision - Process images is key to creatin...