美文网首页
Gradle plugin系列笔记-自定义plugin

Gradle plugin系列笔记-自定义plugin

作者: 撸吗撸码 | 来源:发表于2019-03-12 18:48 被阅读0次

注意:windows下 在studio的terminal窗口敲 .../gradlew;mac 下敲./gradlew

1.自己新建一个目录必须叫 buildSrc,里面包含src,resources子文件夹

ressources下面再新建META-INF文件夹,接着在这个文件夹下新建 gradle-plugins文件夹,接着在这个文件夹下新建hencoder.properties文件
为了让大家更清楚目录结构,我上传一张项目的截图如下:


Screenshot_20190312_190602.jpg

2.编辑hencoder.propterties文件的内容

添加:

implementation-class = com.hencoder.pulgindemo.PluginDemo

这里就说明了你的plugin指的是哪个类。

这个类的内容大致如下


class PluginDemo implements Plugin<Project>{

    @Override
    void apply(Project target) {
        def author = target.extensions.create('hencoder',ExtensionDemo);
        target.afterEvaluate {
            println("hell ${author.name}!")
        }

    }
}

3.项目运行时会先取找这个路径下buildSrc-》ressources-》META-INF-》gradle-plugins-》所有的properties文件,然后执行。

4.plugin写好了,怎么用啊?别急,马上说。

我们在我们的app的build.gradle里面引用怎么引用呢?如下apply plugin:'xxx'
这里的“xxx”就是你新建的properties文件名,我写的是hencoder,那么就是
apply plugin:'hencoder',这样就行了。

5.说说get,set这两个方法

我们调用属性时,比如上面的 println("hell ${author.name}!"),其实调用的是getName这个方法,同样,我们赋值时,author.name="hanmeimei",调用的是author.setName(),get,set方法都被gradle实现了。

6.总结

plugin项目里面可以不配置plugin.gradle文件,因为gradle都帮我们配置好了,不写就是啥也不操作。
写好的plugin项目可以不用配置到app的setting.gradle里面,plugin项目本身就会先被执行一次,如果你再配置到app里面就会执行两次。

相关文章

网友评论

      本文标题:Gradle plugin系列笔记-自定义plugin

      本文链接:https://www.haomeiwen.com/subject/mvtopqtx.html