@@ -26,6 +26,10 @@ val publicModulePathSet = setOf(
2626 rootProject.projects.documentifyStarters.documentifyStarterReactive.identityPath.path
2727)
2828
29+ repositories {
30+ mavenCentral()
31+ }
32+
2933subprojects {
3034 group = rootProject.group
3135 version = rootProject.version
@@ -51,6 +55,7 @@ subprojects {
5155 useJUnitPlatform()
5256 }
5357 }
58+
5459 if (publicModulePathSet.contains(project.path)) {
5560 with (pluginManager) {
5661 apply (rootProject.libs.plugins.gradle.mavenCentral.publish.get().pluginId)
@@ -64,63 +69,78 @@ subprojects {
6469 useInMemoryPgpKeys(gpgSecret, gpgPassphrase)
6570 sign(publishing.publications)
6671 }
67- configure<MavenPublishBaseExtension > {
68- publishToMavenCentral(SonatypeHost .CENTRAL_PORTAL )
69-
70- val artifactId = name.replace(" -gradle-plugin" , " .gradle.plugin" )
71- val projectGroup = property(" project.group" ).toString()
72- val projectName = property(" project.name" ).toString()
73- val projectVersion = property(" project.version.id" ).toString()
74- val projectDescription = property(" project.description" ).toString()
75- val projectUrl = property(" project.url" ).toString()
76- val projectUrlScm = property(" project.url.scm" ).toString()
77- val projectLicense = property(" project.license" ).toString()
78- val projectLicenseUrl = property(" project.license.url" ).toString()
79- val projectDeveloperId = property(" project.developer.id" ).toString()
80- val projectDeveloperName = property(" project.developer.name" ).toString()
81- val projectDeveloperEmail = property(" project.developer.email" ).toString()
82- val projectDeveloperUrl = property(" project.developer.url" ).toString()
83-
84- coordinates(
85- groupId = projectGroup,
86- artifactId = artifactId,
87- version = projectVersion
88- )
89-
90- pom {
91- name = projectName
92- description = projectDescription
93- inceptionYear = " ${Year .now().value} "
94- url = projectUrl
95- licenses {
96- license {
97- name = projectLicense
98- url = projectLicenseUrl
99- distribution = projectUrl
72+ tasks.withType<Jar > {
73+ archiveClassifier.set(" " )
74+ }
75+ tasks.withType(PublishToMavenRepository ::class .java) {
76+ dependsOn(tasks.withType<Sign >())
77+ }
78+ extensions.getByType<JavaPluginExtension >().apply {
79+ withSourcesJar()
80+ withJavadocJar()
81+ }
82+ publishing {
83+ repositories {
84+ maven {
85+ name = " sonatype"
86+ url = uri(" https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/" )
87+ credentials {
88+ username = System .getenv(" MAVEN_CENTRAL_USERNAME" )
89+ password = System .getenv(" MAVEN_CENTRAL_PASSWORD" )
10090 }
10191 }
102- developers {
103- developer {
104- id = projectDeveloperId
105- name = projectDeveloperName
106- email = projectDeveloperEmail
107- url = projectDeveloperUrl
92+ }
93+ publications {
94+ create<MavenPublication >(" mavenCentral" ) {
95+ from(components[" java" ])
96+ groupId = property(" project.group" ).toString()
97+ artifactId = name.replace(" -gradle-plugin" , " .gradle.plugin" )
98+ version = property(" project.version.id" ).toString()
99+
100+ pom {
101+ val projectName = property(" project.name" ).toString()
102+ val projectDescription = property(" project.description" ).toString()
103+ val projectUrl = property(" project.url" ).toString()
104+ val projectUrlScm = property(" project.url.scm" ).toString()
105+ val projectLicense = property(" project.license" ).toString()
106+ val projectLicenseUrl = property(" project.license.url" ).toString()
107+ val projectDeveloperId = property(" project.developer.id" ).toString()
108+ val projectDeveloperName = property(" project.developer.name" ).toString()
109+ val projectDeveloperEmail = property(" project.developer.email" ).toString()
110+ val projectDeveloperUrl = property(" project.developer.url" ).toString()
111+
112+ name = projectName
113+ description = projectDescription
114+ inceptionYear = " ${Year .now().value} "
115+ url = projectUrl
116+ licenses {
117+ license {
118+ name = projectLicense
119+ url = projectLicenseUrl
120+ distribution = projectUrl
121+ }
122+ }
123+ developers {
124+ developer {
125+ id = projectDeveloperId
126+ name = projectDeveloperName
127+ email = projectDeveloperEmail
128+ url = projectDeveloperUrl
129+ }
130+ }
131+ scm {
132+ url = projectUrlScm
133+ connection = " scm:git:git://github.com/${projectDeveloperId} "
134+ developerConnection = " scm:git:ssh://git@github.com/${projectDeveloperId} "
135+ }
108136 }
109- }
110- scm {
111- url = projectUrlScm
112- connection = " scm:git:git://github.com/${projectDeveloperId} "
113- developerConnection = " scm:git:ssh://git@github.com/${projectDeveloperId} "
137+ signing.sign(this @publications)
114138 }
115139 }
116140 }
117141 }
118142}
119143
120- repositories {
121- mavenCentral()
122- }
123-
124144kover {
125145 merge {
126146 projects(
0 commit comments