在已有的项目中新建一个groovy module,这个Module的名称必须为buildSrc
删除无用目录
更改build.gradle文件:
apply plugin: 'groovy'
dependencies {
//gradle sdk
compile gradleApi()
//groovy sdk
compile localGroovy()
}
repositories {
jcenter()
}
在groovy目录下新建Groovy类TestPlugin
package com.plugin
import org.gradle.api.Plugin
import org.gradle.api.Project
class TestPlugin implements Plugin<Project> {
@Override
void apply(Project project) {
project.task('testPlugin') << {
println "this is testPlugin"
}
}
}
再创建MyExtension的groovy类
package com.plugin
class MyExtension {
String message
}
在创建了Extension之后,须要改动下之前创建的TestPlugin类来载入Extension
package com.plugin
import org.gradle.api.Plugin
import org.gradle.api.Project
class TestPlugin implements Plugin<Project> {
@Override
void apply(Project project) {
project.extensions.create('pluginsrc', MyExtension)
project.task('testPlugin') << {
println project.pluginsrc.message
}
}
}
创建pluginsrc.properties
implementation-class=com.plugin.TestPlugin
在主项目中使用插件
build.gradle文件里添加
apply plugin: 'pluginsrc'
在主项目的build.gradle文件里,通过例如以下所看到的的代码来载入Extension
pluginsrc{
message = 'hello testPlugin'
}
终端运行gradle testPlugin指令