我有以下插件,我想稍后发布到一个回购

build.gradle plugins {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)

我希望直接在build.gradle中定义我的自定义插件我不需要放置“from”属性 .

  • 如何导出"GreetingPlugin"?

在我的另一个项目中,我有:

Consumer project build.gradle

buildscript {

  repositories {
    mavenLocal()
    mavenCentral()
  }
  dependencies {
    classpath("com.mycompany.gradle.plugins:changes:1.0.0")
  }
}

plugins {
  id 'GreetingPlugin' version '1.0.0'
}

哪个产生 error

在以下任何来源中均未找到插件[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 Central Plugin存储库

  • 是不是也应该在我的mavenLocal()中搜索?