Nebula.Release 找不到任务"release"



我有一个gradle项目,我需要在中进行一些自动发布,我应该使用星云发布插件。我以前没有尝试过用gradle发布,所以我遵循这种方法。当我尝试添加星云插件时,我得到了一个Task with name 'release' not found in root project 'my-project-name'。文档中没有任何关于指定发布任务的内容,所以我不知道如何制作。我知道我需要指定一种部署应用程序的方法,但很难找到一种与星云兼容的方法。

我的build.gradle:

plugins {
id 'org.springframework.boot' version '2.5.2'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
id 'com.github.bjornvester.wsdl2java' version '1.1'
id 'com.github.johnrengelman.shadow' version '7.0.0'
id 'maven-publish'
id 'nebula.release' version '13.2.1' // https://github.com/nebula-plugins/nebula-release-plugin
}
group = 'dk.dxc'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
task unpack(type: Copy) {
dependsOn bootJar
from(zipTree(tasks.bootJar.outputs.files.singleFile))
into('build/dependency')
}
test {
useJUnitPlatform()
}
publishing {
publications {
mavenJava(MavenPublication) {
artifactId = Project.getName()
from components.java
versionMapping {
usage('java-api') {
fromResolutionOf('runtimeClasspath')
}
usage('java-runtime') {
fromResolutionResult()
}
}
pom {
name = 'soap-demo-gradle'
description = 'A template for soap services using gradle'
scm {
connection = 'scm:git:url/to/my/git/repo'
developerConnection = 'scm:git:url/to/my/git/repo'
url = 'scm:git:url/to/my/git/repo'
}
}
}
}
repositories {
maven {
def releasesRepoUrl = "url/to/my/nexus/repo"
def snapshotsRepoUrl = "url/to/my/nexus/repo"
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
}
}
}

没有必要指定发布任务,因为它位于星云发布插件中。如果插件由于某种原因无法正常启动,并且它提供的任务不可用,则可能会出现此错误。因此,如果你试图运行一些依赖于发布任务的任务,那么构建就会失败。

在我的案例中,问题是我没有在我的项目中启动git存储库。

Git repository not found at <project-path> -- nebula-release tasks will not be available. Use the git.root Gradle property to specify a different directory.

在使用git init启动git存储库后,插件的任务变得可用。

最新更新