Skip to content

Commit e2e9970

Browse files
authored
Revert "chore(deps): update plugin maven-central-publish to v0.9.0 (#… (#750)
Revert "chore(deps): update plugin maven-central-publish to v0.9.0 (#748)" This reverts #748 due to an issue in the plugin.
1 parent cdf75a2 commit e2e9970

File tree

3 files changed

+114
-4
lines changed

3 files changed

+114
-4
lines changed

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ jobs:
101101
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
102102
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.OSSRH_ACCESS_ID }}
103103
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.OSSRH_TOKEN }}
104-
run: ./gradlew publishAllModulesToMavenCentralPortalRepository -Prelease --no-scan --stacktrace
104+
run: ./gradlew publishAggregateMavenCentralDeployment -Prelease --no-scan --stacktrace
105105

106106
- name: Bump to next development version
107107
run: echo "${NEXT_VERSION}-SNAPSHOT" > version.txt

build.gradle.kts

Lines changed: 112 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,13 @@
1414
* limitations under the License.
1515
*/
1616

17+
import io.github.zenhelix.gradle.plugin.MavenCentralUploaderPlugin.Companion.MAVEN_CENTRAL_PORTAL_NAME
18+
import io.github.zenhelix.gradle.plugin.extension.MavenCentralUploaderExtension
1719
import io.github.zenhelix.gradle.plugin.extension.PublishingType
20+
import io.github.zenhelix.gradle.plugin.task.PublishBundleMavenCentralTask
21+
import io.github.zenhelix.gradle.plugin.task.ZipDeploymentTask
1822
import java.time.Duration
23+
import org.gradle.api.publish.plugins.PublishingPlugin.PUBLISH_TASK_GROUP
1924
import org.jetbrains.gradle.ext.settings
2025
import org.jetbrains.gradle.ext.taskTriggers
2126

@@ -56,15 +61,120 @@ mavenCentralPortal {
5661
// baseUrl = "https://central.sonatype.com"
5762
uploader {
5863
// 2 seconds * 3600 = 7200 seconds = 2hrs
59-
statusCheckDelay = Duration.ofSeconds(2)
60-
maxStatusChecks = 3600
64+
delayRetriesStatusCheck = Duration.ofSeconds(2)
65+
maxRetriesStatusCheck = 3600
66+
67+
aggregate {
68+
// Aggregate submodules into a single archive
69+
modules = true
70+
// Aggregate publications into a single archive for each module
71+
modulePublications = true
72+
}
6173
}
6274
}
6375

76+
val mavenCentralDeploymentZipAggregation by configurations.creating
77+
78+
mavenCentralDeploymentZipAggregation.isTransitive = true
79+
80+
val zipAggregateMavenCentralDeployment by
81+
tasks.registering(Zip::class) {
82+
group = PUBLISH_TASK_GROUP
83+
description = "Generates the aggregated Maven publication zip file."
84+
85+
inputs.files(mavenCentralDeploymentZipAggregation)
86+
from(mavenCentralDeploymentZipAggregation.map { zipTree(it) })
87+
// archiveFileName = mavenCentralPortal.deploymentName.orElse(project.name)
88+
destinationDirectory.set(layout.buildDirectory.dir("aggregatedDistribution"))
89+
doLast { logger.lifecycle("Built aggregated distribution ${archiveFile.get()}") }
90+
}
91+
92+
val publishAggregateMavenCentralDeployment by
93+
tasks.registering(PublishBundleMavenCentralTask::class) {
94+
group = PUBLISH_TASK_GROUP
95+
description =
96+
"Publishes the aggregated Maven publications $MAVEN_CENTRAL_PORTAL_NAME repository."
97+
98+
dependsOn(zipAggregateMavenCentralDeployment)
99+
inputs.file(zipAggregateMavenCentralDeployment.flatMap { it.archiveFile })
100+
101+
val task = this
102+
103+
project.extensions.configure<MavenCentralUploaderExtension> {
104+
val ext = this
105+
task.baseUrl.set(ext.baseUrl)
106+
task.credentials.set(
107+
ext.credentials.username.flatMap { username ->
108+
ext.credentials.password.map { password ->
109+
io.github.zenhelix.gradle.plugin.client.model.Credentials.UsernamePasswordCredentials(
110+
username,
111+
password,
112+
)
113+
}
114+
}
115+
)
116+
117+
task.publishingType.set(
118+
ext.publishingType.map {
119+
when (it) {
120+
PublishingType.AUTOMATIC ->
121+
io.github.zenhelix.gradle.plugin.client.model.PublishingType.AUTOMATIC
122+
PublishingType.USER_MANAGED ->
123+
io.github.zenhelix.gradle.plugin.client.model.PublishingType.USER_MANAGED
124+
}
125+
}
126+
)
127+
task.deploymentName.set(ext.deploymentName)
128+
129+
task.maxRetriesStatusCheck.set(ext.uploader.maxRetriesStatusCheck)
130+
task.delayRetriesStatusCheck.set(ext.uploader.delayRetriesStatusCheck)
131+
132+
task.zipFile.set(zipAggregateMavenCentralDeployment.flatMap { it.archiveFile })
133+
}
134+
}
135+
64136
// Configure the 'io.github.zenhelix.maven-central-publish' plugin to all projects
65137
allprojects.forEach { p ->
66138
p.pluginManager.withPlugin("maven-publish") {
67139
p.pluginManager.apply("io.github.zenhelix.maven-central-publish")
140+
p.extensions.configure<MavenCentralUploaderExtension> {
141+
val aggregatedMavenCentralDeploymentZipPart by p.configurations.creating
142+
aggregatedMavenCentralDeploymentZipPart.description = "Maven central publication zip"
143+
val aggregatedMavenCentralDeploymentZipPartElements by p.configurations.creating
144+
aggregatedMavenCentralDeploymentZipPartElements.description =
145+
"Elements for the Maven central publication zip"
146+
aggregatedMavenCentralDeploymentZipPartElements.isCanBeResolved = false
147+
aggregatedMavenCentralDeploymentZipPartElements.extendsFrom(
148+
aggregatedMavenCentralDeploymentZipPart
149+
)
150+
aggregatedMavenCentralDeploymentZipPartElements.attributes {
151+
attribute(
152+
Usage.USAGE_ATTRIBUTE,
153+
project.getObjects().named(Usage::class.java, "publication"),
154+
)
155+
}
156+
157+
val aggregatemavenCentralDeployment by
158+
p.tasks.registering {
159+
val zip = p.tasks.findByName("zipDeploymentMavenPublication") as ZipDeploymentTask
160+
dependsOn(zip)
161+
outputs.file(zip.archiveFile.get().asFile)
162+
}
163+
164+
val artifact =
165+
p.artifacts.add(
166+
aggregatedMavenCentralDeploymentZipPart.name,
167+
aggregatemavenCentralDeployment,
168+
) {
169+
builtBy(aggregatemavenCentralDeployment)
170+
}
171+
aggregatedMavenCentralDeploymentZipPart.outgoing.artifact(artifact)
172+
173+
rootProject.dependencies.add(
174+
mavenCentralDeploymentZipAggregation.name,
175+
rootProject.dependencies.project(p.path, aggregatedMavenCentralDeploymentZipPart.name),
176+
)
177+
}
68178
}
69179
}
70180

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ tomcat-annotations-api = { module = "org.apache.tomcat:annotations-api", version
6767
idea-ext = { id = "org.jetbrains.gradle.plugin.idea-ext", version = "1.3" }
6868
jandex = { id = "com.github.vlsi.jandex", version.ref = "jandexPlugin" }
6969
jmh = { id = "me.champeau.jmh", version = "0.7.3" }
70-
maven-central-publish = { id = "io.github.zenhelix.maven-central-publish", version = "0.9.0" }
70+
maven-central-publish = { id = "io.github.zenhelix.maven-central-publish", version = "0.8.0" }
7171
protobuf = { id = "com.google.protobuf", version.ref = "protobufPlugin" }
7272
shadow = { id = "com.github.johnrengelman.shadow", version.ref = "shadowPlugin" }
7373
spotless = { id = "com.diffplug.spotless", version.ref = "spotlessPlugin" }

0 commit comments

Comments
 (0)