0

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

我的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
        }
    }
}
4

0 回答 0