Я пытаюсь перенести задачи из build.gradle в плагин, который это делает. В моем build.gradle я делаю это:
plugins {
//id 'java'
id 'war'
//https://plugins.gradle.org/plugin/org.gretty
id 'org.gretty' version '3.0.1'
id "com.github.dkorotych.gradle-maven-exec" version "2.2.1"
}
apply plugin: 'maven'
....
....
prepareFrontEnd (type: MavenExec, dependsOn: build) {
goals 'vaadin:prepare-frontend'
}
task buildFrontEnd (type: MavenExec, dependsOn: prepareFrontEnd) {
goals 'vaadin:build-frontend'
}
Теперь я перемещаю этот материал в плагины:
package com.github.mdre.hgvaadinplugin
import org.gradle.api.Plugin;
import org.gradle.api.Project;
//import com.github.dkorotych.gradle.maven.exec.MavenExec;
class HGVaadinPlugin implements Plugin<Project> {
@Override
void apply(Project project) {
println "Hybrid Gradle Vaaadin plugin."
project.plugins.apply('com.github.dkorotych.gradle-maven-exec')
// project.getPluginManager().apply('gradle-maven-exec-plugin')
project.task('prepareFrontEnd', type: MavenExec){
dependsOn build
doLast {
goal 'vaadin:prepare-frontend'
}
}
}
}
Если я пытаюсь импортировать класс MavenExe c, я получаю эта ошибка:
> Task :compileGroovy FAILED
startup failed:
/home/mdre/Proyectos/HGVaadinPlugin/src/main/groovy/com/github/mdre/hgvaadinplugin/HGVaadinPlugin.groovy: 5: unable to resolve class com.github.dkorotych.gradle.maven.exec.MavenExec
@ line 5, column 1.
import com.github.dkorotych.gradle.maven.exec.MavenExec;
^
и если я комментирую строку импорта, я получаю эту ошибку в проекте, использующем плагин:
- Что пошло не так: при оценке возникла проблема root проект 'VaadinFlowLab'.
Не удалось применить плагин [id 'com.github.mdre.hgvaadinplugin'] Нет такого свойства: MavenExe c для класса: com.github.mdre.hgvaadinplugin.HGVaadinPlugin
Как я могу это сделать?
Спасибо.