В вашем пользовательском плагине вы используете библиотеку HTTP-Builder-NG (класс groovyx.net.http.HttpBuilder
), поэтому вам необходимо настроить зависимость от этой библиотеки в вашем проекте плагина:
dependencies {
compile "io.github.http-builder-ng:http-builder-ng-core:1.0.3"
}
Для быстрого тестирования вы можете создать следующий временный плагин в каталоге buildSrc
проекта, к которому вы хотите применить плагин:
buildSrc / build.gradle
dependencies {
compile "io.github.http-builder-ng:http-builder-ng-core:1.0.3"
}
repositories {
mavenCentral()
}
buildSrc / src / main / groovy / com / mycompany / MyPlugin.groovy
package com.mycompany
import org.gradle.api.GradleException
import org.gradle.api.Plugin
import org.gradle.api.Project
class MyPlugin implements Plugin<Project> {
void apply(Project project) {
// ... your plugin login here, with 'inputList' definition
project.task ('makeRESTCall') {
onlyIf {
!inputList.empty
}
doLast {
//println 'Successfully made REST Call'
println inputList
def http = groovyx.net.http.HttpBuilder.configure{
request.uri = 'http://localhost:8080'
request.contentType = 'application/json'
request.uri.path = '/api/v1/validate'
}
http.post {
request.body = inputList.toString()
response.success {resp, json ->
println json
if (!json) {
throw new GradleException("Validation Failed")
}
}
}
}
}
}
build.gradle
import com.mycompany.MyPlugin
apply plugin: MyPlugin
Примечание : Я не думаю, что вам нужно применять плагин id "io.github.http-builder-ng.http-plugin" version "0.1.1"
, если только вы не используете HTTPTask
, который предоставляет этот плагин, который является просто оболочкой Gradle Task вокругgroovyx.net.http.HttpBuilder