Skip to content

Instantly share code, notes, and snippets.

@steklopod
Created January 9, 2019 08:21
Show Gist options
  • Save steklopod/7af5b51acc7e73f9d5f890e7a6edf3b8 to your computer and use it in GitHub Desktop.
Save steklopod/7af5b51acc7e73f9d5f890e7a6edf3b8 to your computer and use it in GitHub Desktop.
Maven publishing
plugins {
maven
`maven-publish`
}
publishing {
val repositoryUrl: String by project
val repositoryUser: String by project
val repositoryPassword: String by project
val sourcesJar by tasks.registering(Jar::class) {
classifier = "sources"
from(sourceSets.main.get().allSource)
}
repositories {
maven {
url = uri(repositoryUrl)
credentials {
username = repositoryUser
password = repositoryPassword
}
}
}
publications {
register("mavenJava", MavenPublication::class) {
from(components["java"])
artifact(sourcesJar.get())
}
}
}
getByName<Upload>("uploadArchives") {
val repositoryUrl: String by project
val repositoryUser: String by project
val repositoryPassword: String by project
repositories {
withConvention(MavenRepositoryHandlerConvention::class) {
mavenDeployer {
withGroovyBuilder {
"repository"("url" to uri(repositoryUrl)) {
"authentication"("userName" to repositoryUser, "password" to repositoryPassword)
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment