美文网首页
Hello Gradle插件

Hello Gradle插件

作者: TunaIsBack | 来源:发表于2020-04-11 19:54 被阅读0次

插件的作用

  • 添加任务到项目中,帮你完成一些事情,比如测试、编译、打包
  • 添加依赖配置到你到项目中,比如我们在编译的时候依赖到第三方库
  • 向项目中现有的对象类型添加新的扩展属性、方法等,让你可以使用它们帮助我们配置、优化构建,比如android{}这个配置块就是AndroidGradle插件为Project对象添加到一个扩展
  • 对项目进行一些约定,比如应用Java插件后,约定src/main/java目录下是我们源代码存放位置,在编译的时候也是编译这个目录下的Java源代码文件

如何应用一个插件

  • 应用二进制插件

二进制插件实现了org.gradle.api.Plugin接口的插件,它们可有plugin id 如Java插件:apply plugin:'java'

//apply方法
void apply(Map<String,?> options)
void apply(Closure closure)
void apply(Action<? super ObjectConfigurationAction> action)


Action方式
apply(new Action<ObjectConfigurationAction>(){
    @Override
    void execute(ObjectConfigurationAction objectConfigurationAction){
          objectConfigurationAction.plugin('java')
    }
    })
  • 应用脚本插件
version.gradle
ext{
    versionName='1.0.0'
    versionCode=1
}

apply from:'version.gradle'
task printTask{
    doLast{
        println "appname:${versionName} code:${versionCode}"
    }
}

应用第三方发布的插件

第三方发布的作为jar的二进制插件,必须要在buildscript{}里配置其classpath才能使用。buildscript{}块是一个在构建项目之前,为项目进行前期准备和初始化相关配置依赖的地方,配置好所需的依赖,就可以应用插件apply plugin: 'com.android.application'

使用plugins DSL应用插件

插件已经托管在https://plugins.gradle.org/
不需要在buildscript里配置classpath依赖,直接使用plugins就可以应用插件

plugins{
    id  "org.sonarqube" version "1.2"
}

自定义插件

  • 自己项目使用,定义在build文件里
apply plugin:CustomPlugin
class CustomPlugin implements Plugin<Project>{
    void apply(Project project){
        project.task('customTask'){
            doLast{
                println '这是一个通过自定义插件方式创建的任务'
            }
        }
    }
}
  • 开发独立的插件供外界使用

相关文章

网友评论

      本文标题:Hello Gradle插件

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