我有一个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
}
}
}发布于 2022-04-11 03:30:44
没有必要指定发布任务,因为它在星云发布插件中。如果插件由于某些原因无法正常启动,并且无法使用插件提供的任务,则可能会发生此错误。因此,如果您试图运行一些依赖于发布任务的任务,构建将失败。
在我的例子中,问题是我没有在我的项目上启动一个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存储库之后,插件的任务就可用了。
https://stackoverflow.com/questions/68410025
复制相似问题