自定义Gradle plugin

 本文主要说明一下自定义Gradle plugin的步骤,在实现一个自定义plugin的时候主要有以下几步:

1,在project下新建一个module,随便选择什么类型,反正最后都要清空,src/main目录。
2,修改moudule下的build.gradle文件改成如下格式

apply plugin:'groovy'
dependencies{
    compile gradleApi()
    compile localGroovy()
}

3,在main目录下新建文件夹com.test.xxx,在此文件夹下新建文件MyPlugin.groovy,这个文件的内容很简单,如下所示:

package com.hx.plugin

import org.gradle.api.Plugin
import org.gradle.api.Project

public class MyPlugin implements Plugin{
    @Override
    void apply(Project project) {
        System.out.println ("start ")
        System.out.println ("hello my gradle plugin")
        System.out.println ("end")
    }
}

4,发布到服务器或者本地仓库,
修改module的build.gradle文件,添加maven支持,这个例子是发布到本地maven仓库。修改后的文件如下所示:

apply plugin:'groovy'
apply plugin: 'maven'
dependencies{
    compile gradleApi()
    compile localGroovy()
}

repositories {
    mavenCentral()
}

group = 'com.hx.plugin'
version = '1.0.0'

uploadArchives {
    repositories {
        mavenDeployer{
            //提交到远程服务器:
            // repository(url: "http://www.xxx.com/repos") {
            //    authentication(userName: "admin", password: "admin")
            // }
            //本地的Maven地址设置为D:/repos
            repository(url: uri('E:/develop/repos'))
        }
    }
}

group指的是群组名,version指的是版本号,后面的uri指的是本地仓库地址。修改完之后,点击Android Studio右边的gradle,找到uploadArchives任务,双击执行,就会在指定的目录生成文件。
5,使用自定义plugin
在plugin生成之后,就可以使用了,首先在project的build.gradle中添加maven仓库的地址。

buildscript {
    repositories {
        jcenter()
        maven {
            url uri('E:/develop/repos')
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        classpath 'com.hx.plugin:mylibrary:1.0.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

url是先前我们指定的仓库地址,classpath是 group +module+版本号,在使用的module的build.gradle中添加

apply plugin: 'com.hx.gradle'

这个plugin的名称就是在resource下的那个properties文件的名称。 到这里一个简单的自定义Gradle plugin就完成了。

你可能感兴趣的:(自定义Gradle plugin)