Search code examples
gradlebintraynetflix-nebula-plugins

nebula release and bintray plugin have version set to unspecified


Using the nebula.release and nebula.nebula-bintray-publishing plugins results in the version being set properly in the file name, but not in the file path. The error message is as below.

Could not upload to 'https://api.bintray.com/content/[secure]/maven/Axon-Kotlin/unspecified/com/tylerthrailkill/axon-kotlin/0.0.2/axon-kotlin-0.0.2-sources.jar': HTTP/1.1 409 Conflict [message:Unable to upload files: An artifact with the path 'com/tylerthrailkill/axon-kotlin/0.0.2/axon-kotlin-0.0.2-sources.jar' already exists]

ignore the part about it already existing, I am just trying with the same version number over and over until the path is right.

This is what I see in bintray. image of bintray versions screen showing pathname has 'unspecified', but version is set property in filename

Here are my gradle files:

build.gradle

plugins {
    id 'nebula.kotlin' version '1.2.50'
    id 'nebula.maven-publish' version '8.0.0'
    id 'nebula.info' version '3.7.1'
    id "nebula.source-jar" version "8.0.0"
    id "nebula.javadoc-jar" version "8.0.0"
    id 'nebula.nebula-bintray-publishing' version '3.5.4'
    id 'nebula.release' version '6.3.5'
}

apply from: 'publishing.gradle'

group 'com.tylerthrailkill'
// don't specify version because release plugin does

repositories {
    mavenCentral()
    mavenLocal()
}
def axonVersion = '3.2.2'

dependencies {
//    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.41"
    compile group: "org.axonframework", name: "axon-core", version: axonVersion
    compile group: "org.axonframework", name: "axon-test", version: axonVersion
    compile group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3'

    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.0.3'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.0.3'
    testCompile group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3'
    testCompile "com.nhaarman:mockito-kotlin:1.5.0"

    testCompile "org.jetbrains.kotlin:kotlin-test:1.2.41"
    testCompile group: "org.axonframework", name: "axon-core", version: axonVersion
    testCompile group: "org.axonframework", name: "axon-test", version: axonVersion
}

test {
    useJUnitPlatform()

    // Always run tests, even when nothing changed.
    dependsOn 'cleanTest'

    // Show test results.
    testLogging {
        events "passed", "skipped", "failed"
    }
}

publishing.gradle

bintray {
    user = findProperty('bintrayUser') ?: System.getenv('BINTRAY_USER')
    key = findProperty('bintrayKey') ?: System.getenv('BINTRAY_KEY')

    pkg {
        userOrg = 'myusername'
        repo = 'maven'
        name = 'Axon-Kotlin'
        licenses = ['MIT']
        vcsUrl = 'https://github.com/snowe2010/axon-kotlin.git'
        websiteUrl = 'https://github.com/snowe2010/${project.name}'
        issueTrackerUrl = 'https://github.com/snowe2010/${project.name}/issues'
        vcsUrl = 'https://github.com/snowe2010/${project.name}.git'
        labels = ['axon', 'kotlin']
    }
}

Solution

  • This was apparently a bug in the version of the gradle-bintray-plugin (through nebula) I was using. It has been resolved in gradle-bintray-plugin 1.8.4.