动手写一个AspectJ的gradle插件

越是深入学习 Android ,就越发感觉到 Gradle 这个构建工具十分强大, Android 插件化都是依赖于 Gradle ,因此有必要学会怎么用 Gradle 来编写插件,从而进一步去理解 Gradle 的自动化构建过程。

由于我同时对 AspectJ 十分感兴趣 ,这里就总结一下我是如何把 AspectJ 做成一个 Gradle 插件 的过程。

Gradle 插件开发

首先新建一个 Java Library Module,然后手动将工程结构修改为 Groovy 工程结构,也就是将原来的 main 文件夹下的 java 文件夹修改为 groovy

这里写图片描述

同时在 Module 里面的 build.gradle 中引入插件开发所需的 gradlegroovy 这两个 SDK 的依赖,并把 Module 插件修改为 groovymaven

apply plugin: 'groovy'
apply plugin: 'maven'

dependencies {
    compile gradleApi()//gradle sdk
    compile localGroovy()//groovy sdk
}

//这里建议使用 Java7
sourceCompatibility = "1.7"
targetCompatibility = "1.7"

repositories {
    jcenter()
}

这里也没有什么地方需要特别注意的,毕竟要弄成本地插件,所以需要声明 maven ,还有就是建议这里声明 Java 的版本为 1.7 版本,虽说我电脑安装的环境是 Java 1.8 ,但是发现声明为 1.8 会经常出现编译问题,因此建议这里就声明 1.7 吧。

然后就是在 main 目录下面增加 resources/META-INF/gradle-plugins 这样的文件夹目录结构:

这里写图片描述

暂时就先让最后的 gradle-plugins 文件夹空着,等下再做处理,那么现在整个 Module 的目录如下:

这里写图片描述

这样,一个基于 GroovyGradle 插件 Module 就完成了,我们可以来创建一个 groovy 文件来玩耍了。

在包名下新建一个文件,然后手动将文件后缀名修改为 groovy ,是的,你没有看错,就是这么手动去创建的,目前还没发现有其他什么法子可以让 Android Studio 来自动创建 groovy 文件,就先这么干吧:

这里写图片描述

新创建的 groovy 需要实现 org.gradle.api.Plugin 接口才可以编译成 Gradle 插件,如下所示:

import org.gradle.api.Plugin
import org.gradle.api.Project

public class AspectjPlugin implements Plugin<Project> {
   

    void apply(Project project) {
       println("=============")
       println("hello world!")
       println("=====
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值