11import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
22import com.google.protobuf.gradle.ProtobufExtension
33import com.google.protobuf.gradle.proto
4+ import com.vanniktech.maven.publish.MavenPublishBaseExtension
45import org.gradle.api.JavaVersion
56import org.gradle.api.distribution.DistributionContainer
67import org.gradle.api.plugins.JavaApplication
78import org.gradle.api.plugins.JavaPlugin
89import org.gradle.api.plugins.JavaPluginExtension
9- import org.gradle.api.publish.PublishingExtension
10- import org.gradle.api.publish.maven.MavenPublication
1110import org.gradle.api.tasks.JavaExec
1211import org.gradle.api.tasks.SourceSetContainer
1312import org.gradle.api.tasks.Sync
@@ -16,15 +15,14 @@ import org.gradle.api.tasks.javadoc.Javadoc
1615import org.gradle.api.tasks.testing.Test
1716import org.gradle.external.javadoc.StandardJavadocDocletOptions
1817import org.gradle.language.jvm.tasks.ProcessResources
19- import org.gradle.plugins.signing.SigningExtension
2018import org.jetbrains.kotlin.gradle.dsl.JvmTarget
2119import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
2220
2321plugins {
24- id(" io.github.gradle-nexus.publish-plugin" ) version " 2.0.0"
2522 alias(libs.plugins.kotlin.jvm) apply false
2623 alias(libs.plugins.protobuf) apply false
2724 alias(libs.plugins.shadow) apply false
25+ alias(libs.plugins.vanniktech.maven.publish) apply false
2826}
2927
3028val computedVersion =
@@ -54,8 +52,6 @@ val javacTestJvmOptions = javacModuleOptions.map { it.removePrefix("-J") }
5452val catalog = libs
5553val protobufVersion = catalog.versions.protobuf.asProvider().get()
5654val repositoryUrl = " https://github.com/sourcegraph/scip-java"
57- val signingKey = providers.environmentVariable(" PGP_SECRET" )
58- val signingPassword = providers.environmentVariable(" PGP_PASSPHRASE" )
5955
6056allprojects {
6157 group = rootProject.group
@@ -102,61 +98,33 @@ subprojects {
10298}
10399
104100fun Project.configureMavenPublishing () {
105- apply (plugin = " maven-publish" )
106- apply (plugin = " signing" )
107-
108- extensions.configure<JavaPluginExtension > {
109- withSourcesJar()
110- withJavadocJar()
111- }
112-
113- extensions.configure<PublishingExtension > {
114- publications {
115- create<MavenPublication >(" mavenJava" ) {
116- from(components[" java" ])
117- pom {
118- name.set(project.name)
119- description.set(project.description ? : project.name)
120- url.set(repositoryUrl)
121- licenses {
122- license {
123- name.set(" Apache-2.0" )
124- url.set(" http://www.apache.org/licenses/LICENSE-2.0" )
125- }
126- }
127- developers {
128- developer {
129- id.set(" sourcegraph" )
130- name.set(" Sourcegraph" )
131- }
132- }
133- scm {
134- connection.set(" scm:git:$repositoryUrl .git" )
135- developerConnection.set(" scm:git:ssh://git@github.com/sourcegraph/scip-java.git" )
136- url.set(repositoryUrl)
137- }
101+ apply (plugin = " com.vanniktech.maven.publish" )
102+
103+ extensions.configure<MavenPublishBaseExtension >(" mavenPublishing" ) {
104+ publishToMavenCentral()
105+ signAllPublications()
106+
107+ pom {
108+ name.set(project.name)
109+ description.set(project.description ? : project.name)
110+ url.set(repositoryUrl)
111+ licenses {
112+ license {
113+ name.set(" Apache-2.0" )
114+ url.set(" http://www.apache.org/licenses/LICENSE-2.0" )
138115 }
139116 }
140- }
141- }
142-
143- val publishing = extensions.getByType<PublishingExtension >()
144- extensions.configure<SigningExtension > {
145- isRequired = signingKey.isPresent && ! project.version.toString().endsWith(" SNAPSHOT" )
146- if (signingKey.isPresent) {
147- useInMemoryPgpKeys(signingKey.get(), signingPassword.orNull)
148- sign(publishing.publications)
149- }
150- }
151- }
152-
153- nexusPublishing {
154- repositories {
155- sonatype {
156- username.set(providers.environmentVariable(" SONATYPE_USERNAME" ))
157- password.set(providers.environmentVariable(" SONATYPE_PASSWORD" ))
158- nexusUrl.set(uri(" https://s01.oss.sonatype.org/service/local/" ))
159- snapshotRepositoryUrl.set(uri(" https://s01.oss.sonatype.org/content/repositories/snapshots/" ))
117+ developers {
118+ developer {
119+ id.set(" sourcegraph" )
120+ name.set(" Sourcegraph" )
121+ }
122+ }
123+ scm {
124+ connection.set(" scm:git:$repositoryUrl .git" )
125+ developerConnection.set(" scm:git:ssh://git@github.com/sourcegraph/scip-java.git" )
126+ url.set(repositoryUrl)
127+ }
160128 }
161129 }
162130}
0 commit comments