Could not PUT https://oss.sonatype.org/service/local/staging/deploy/maven2/bom-plugin/

Viewed 307

I'm trying to publish my first Gradle plugin to maven central (sonatype), but I'm receiving the following error:

Execution failed for task ':publishBom-pluginPluginMarkerMavenPublicationToMavenRepository'.
> Failed to publish publication 'bom-pluginPluginMarkerMaven' to repository 'maven'
   > Could not PUT 'https://oss.sonatype.org/service/local/staging/deploy/maven2/bom-plugin/bom-plugin.gradle.plugin/0.3/bom-plugin.gradle.plugin-0.3.pom'.
Received status code 400 from server: Bad Request

It seems that for some reason, the publishing task is trying to publish my plugin at the root of the sonatype repository, it works when I do execute the task publishToMavenLocal, however, published this strange file in my m2 local: /.m2/repository/bom-plugin/bom-plugin.gradle.plugin and also publish the plugin here /.m2/repository/dev/thiagosouto/bom-plugin/0.3/

I think this is causing the issue but I don't have any clue to solve this problem.

My build.gradle.kts file

plugins {
    java
    `java-gradle-plugin`
    `kotlin-dsl`
    `maven-publish`
    signing
    kotlin("jvm") version "1.4.31"
    id("com.gradle.plugin-publish") version "0.13.0"
}

group  "dev.thiagosouto"
version "0.3"

buildscript {
    repositories {
        mavenCentral()
        maven {
            url = uri("https://plugins.gradle.org/m2/")
        }
    }
}

gradlePlugin {
    plugins {
        create("bom-plugin") {
            id = "bom-plugin"
            implementationClass = "dev.thiagosouto.plugins.bom.BomPlugin"
        }
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation("com.squareup:kotlinpoet:1.7.2")

    testImplementation("com.google.truth:truth:1.1.2")
    testImplementation("junit:junit:4.13.2")
    testImplementation("dev.thiagosouto:file-butler:0.3.0")
}

sourceSets.main {
    java.srcDirs("src/main/kotlin")
}

sourceSets.test {
    java.srcDirs("src/test/kotlin")
}

tasks.withType<GenerateModuleMetadata> {
    enabled = false
}

publishing {
    val ossrhUsername: String by project
    val ossrhPassword: String by project

    repositories {
        maven(url = "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
            credentials {
                username = ossrhUsername
                password = ossrhPassword
            }
        }
    }
    publications {
        group = "dev.thiagosouto"
        version = "0.3"
        create<MavenPublication>("mavenJava") {
            pom {
                name.set("bom-plugin")
                description.set("A library to help apply tdd through help functions");
                url.set("https://thiagosouto.dev")

                licenses {
                    license {
                        name.set("The Apache License, Version 2.0")
                        url.set("http://www.apache.org/licenses/LICENSE-2.0.txt")
                    }
                }

                scm {
                    connection.set("scm:git:git://github.com/othiagosouto/bom-plugin.git/")
                    developerConnection.set("scm:git:ssh://github.com:othiagosouto/bom-plugin.git")
                    url.set("https://github.com/othiagosouto/bom-plugin")
                }
                developers {
                    developer {
                        id.set("othiagosouto")
                        name.set("Thiago Souto silva de barros Santos")
                        email.set("soutosss@gmail.com")
                    }
                }
            }
        }
    }
}
afterEvaluate {
    signing {
        sign(publishing.publications["mavenJava"])
    }
}
0 Answers
Related