Gradle发布自定义插件并将其应用于消费者项目

时间:2018-11-15 10:37:43

标签: gradle gradle-plugin

我有以下插件,我想稍后将其发布到仓库中

build.gradle     插件{       id'maven-发布'     }

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指定源代码的位置。

changes(MavenPublication){       groupId project.group       artifactId project.name       版本project.version       来自components.java     }

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

  1. 如何导出此“ 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']

-

  1. 不是也应该在我的mavenLocal()中搜索吗?

0 个答案:

没有答案