美文网首页
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