I have an issue, when trying to publish to maven l...
# community-support
p
I have an issue, when trying to publish to maven local:
> Failed to publish publication 'release' to repository 'mavenLocal'
> org.codehaus.plexus.util.xml.pull.XmlPullParserException: in epilog non whitespace content is not allowed but got / (position: END_TAG seen ...</metadata>\n/... @Dchintal 13:2)
Can someone help me with this please? Will post configuration in thread.
Copy code
import org.gradle.api.Action
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.publish.PublishingExtension
import org.gradle.api.publish.maven.MavenPublication
import org.gradle.api.publish.maven.plugins.MavenPublishPlugin
import org.gradle.kotlin.dsl.apply
import org.gradle.kotlin.dsl.assign
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.create
import org.gradle.kotlin.dsl.get

private const val EXTENSION_NAME = "myLibrary"

interface MyLibraryExtension {
    var artifact: Artifact?
}

data class Artifact(
    val id: String,
    val version: String,
    val group: String = "com.some.library"
) {
    val dependency = "$group:$id:$version"
}

fun Project.myLibrary(configure: Action<MyLibraryExtension>) {
    extensions.configure(EXTENSION_NAME, configure)
}

class MyLibraryPlugin : Plugin<Project> {

    override fun apply(project: Project) {
        val extension = project.extensions.create<MyLibraryExtension>(EXTENSION_NAME)

        project.afterEvaluate {
            val artifact = extension.artifact ?: error("Artifact version not set")
            configurePublishing(artifact)
        }
    }

    private fun Project.configurePublishing(artifact: Artifact) {
        apply<MavenPublishPlugin>()

        project.group = artifact.group

        configure<PublishingExtension> {
            publications {
                create<MavenPublication>("release") {
                    version = artifact.version
                    artifactId = artifact.id

                    afterEvaluate {
                        from(components["release"])
                    }

                    pom {
                        name = artifact.id
                    }
                }
            }

            repositories {
                maven {
                    name = "GitHubPackages"
                    url = uri("<https://maven.pkg.github.com/redacted>")

                    credentials {
                        username = System.getenv("GPR_USER")
                        password = System.getenv("GPR_TOKEN")
                    }
                }
            }
        }
    }
}
Seems like corrupted POM xml or smth. Don't have that issue anymore, since I deleted it from ~/.m2 repository
👌 1