Hello Gradle插件

2020-04-11  本文已影响0人  TunaIsBack

插件的作用

如何应用一个插件

二进制插件实现了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"
}

自定义插件

apply plugin:CustomPlugin
class CustomPlugin implements Plugin<Project>{
    void apply(Project project){
        project.task('customTask'){
            doLast{
                println '这是一个通过自定义插件方式创建的任务'
            }
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读