本文主要說明一下自定義Gradle plugin的步驟了罪,在實現(xiàn)一個自定義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,這個文件的內(nèi)容很簡單散劫,如下所示:
package com.hx.plugin
import org.gradle.api.Plugin
import org.gradle.api.Project
public class MyPlugin implements Plugin<Project>{
@Override
void apply(Project project) {
System.out.println ("start ")
System.out.println ("hello my gradle plugin")
System.out.println ("end")
}
}
4,發(fā)布到服務(wù)器或者本地倉庫赖条,
修改module的build.gradle文件,添加maven支持纬乍,這個例子是發(fā)布到本地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{
//提交到遠程服務(wù)器:
// repository(url: "http://www.xxx.com/repos") {
// authentication(userName: "admin", password: "admin")
// }
//本地的Maven地址設(shè)置為D:/repos
repository(url: uri('E:/develop/repos'))
}
}
}
group指的是群組名仿贬,version指的是版本號,后面的uri指的是本地倉庫地址蜓氨。修改完之后,點擊Android Studio右邊的gradle穴吹,找到uploadArchives任務(wù),雙擊執(zhí)行港令,就會在指定的目錄生成文件棘钞。
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就完成了革屠。