美文网首页
第五章 | Gradle插件

第五章 | Gradle插件

作者: 黑色海鸥 | 来源:发表于2018-03-28 21:14 被阅读10次
  • 设计:
    • Gradle提供了一些基本概念和整体核心框架,其他真实场景以扩展插件的形式来实现
  • 作用
    • 添加额外任务
    • 添加依赖配置,第三方库
    • 现有的对象类型添加新的扩展属性,方法。如android{}
    • 对项目进行约定,如Java插件约定,src/main/java存放源代码
  • 应用一个插件
    • Project.apply()

      • 二进制插件,脚本插件
    • 应用二进制插件

      • 实现了Plugin接口的插件,可以有plugin id; ex, apply plugin:'java'
        • java 就是plugin id,它是唯一的;
        • 全称:org.gradle.api.plugins.JavaPlugin
        • 也等价于:apply plugin: JavaPlugin
      • 一般以jar形式独立发布
        • plugin id以包名命门,防止重复
    • 应用脚本插件

      • apply from:'version.gradle', 就是把脚本加载进来。
      • 脚本模块化的基础
    • apply的其他方法

      • image
    • 应用第三方发布的插件

      • 要在buildscript{}里面配置classpath才行
    • 使用plugins DSL应用配置

      • Gradle2.1以后才支持
      • plugins{ id 'java' }, 如果插件托管在了gradle官方,则不用配置classpath了
  • 自定义插件
    • 脚本插件

      • 基础plugin, 重写apply方法,创建任务做自己想做的事情
      • image
    • 二进制插件

      • 创建groovy工程,添加需要的依赖,集成插件,实现apply方法,做自己想做的事情;添加plugin ID.
      • plugin ID路径:src/main/resources/META-INF/gradle-plugins/新建名字为plugin id的properties文件
        • 内容

          image
        • k为固定,v为自己的id

      • 第三方:添加classpath,apply plugin:'id'

相关文章

网友评论

      本文标题:第五章 | Gradle插件

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