У меня есть следующий плагин, который я хочу опубликовать позже в репо
build.gradle
плагины {
id 'maven-publish'
}
group 'com.mycompany.gradle.plugins'
version '1.0.0'
class GreetingPlugin implements Plugin<Project> {
void apply(Project project) {
project.task('hello') {
doLast {
println 'Hello from the GreetingPlugin'
}
}
}
}
apply plugin: GreetingPlugin
publishing {
publications {
changes(MavenPublication) {
groupId project.group
artifactId project.name
version project.version
}
}
repositories {
...myRepos...
}
К настоящему времени я публикую это на локальном через
gradlew publishToMavenLocal
Однако, я думаю, что исходный код неправильно экспортирован.
Обычно в обычных публикациях Java я использую from components.java
, чтобы указать, где находится мой исходный код.
изменения (MavenPublication) {
groupId project.group
artifactId project.name
версия проекта. версия
из компонент .java
}
Я ожидал, что при определении моего пользовательского плагина непосредственно в build.gradle мне не нужно было указывать свойство from.
- Как я могу экспортировать этот "GreetingPlugin"?
В моем другом проекте у меня есть:
Потребительский проект build.gradle
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath("com.mycompany.gradle.plugins:changes:1.0.0")
}
}
plugins {
id 'GreetingPlugin' version '1.0.0'
}
Что выдает Ошибка :
Плагин [id: 'GreetingPlugin', версия: '1.0.0'] не найден ни в одном из следующих источников:
- Плагины Gradle Core (не плагины ядра, пожалуйста, смотрите https://docs.gradle.org/4.10.1/userguide/standard_plugins.html для доступных плагинов ядра)
- Хранилища плагинов (не удалось разрешить артефакт плагина 'GreetingPlugin: GreetingPlugin.gradle.plugin: 1.0.0')
Поиск в следующих репозиториях:
Центральный плагин Gradle
-
- Разве он не должен искать в моем mavenLocal ()?