@@ -11,14 +11,16 @@ import org.gradle.api.publish.PublishingExtension
11
11
import org.gradle.api.publish.maven.MavenPublication
12
12
import org.gradle.api.publish.maven.plugins.MavenPublishPlugin
13
13
import org.gradle.api.publish.maven.tasks.AbstractPublishToMaven
14
+ import org.gradle.api.publish.maven.tasks.PublishToMavenRepository
14
15
import org.gradle.api.tasks.bundling.Jar
15
16
import org.gradle.kotlin.dsl.apply
16
17
import org.gradle.kotlin.dsl.configure
17
- import org.gradle.kotlin.dsl.create
18
18
import org.gradle.kotlin.dsl.extra
19
19
import org.gradle.kotlin.dsl.getByType
20
+ import org.gradle.kotlin.dsl.register
20
21
import org.gradle.kotlin.dsl.withType
21
22
import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
23
+ import org.gradle.plugins.signing.Sign
22
24
import org.gradle.plugins.signing.SigningExtension
23
25
import org.gradle.plugins.signing.SigningPlugin
24
26
@@ -83,9 +85,9 @@ fun Project.configurePublishing() {
83
85
}
84
86
}
85
87
86
- @Suppress(" TOO_LONG_FUNCTION" )
88
+ @Suppress(" TOO_LONG_FUNCTION" , " GENERIC_VARIABLE_WRONG_DECLARATION " )
87
89
private fun Project.configurePublications () {
88
- val dokkaJar : Jar = tasks.create <Jar >(" dokkaJar" ) {
90
+ val dokkaJarProvider = tasks.register <Jar >(" dokkaJar" ) {
89
91
group = " documentation"
90
92
archiveClassifier.set(" javadoc" )
91
93
from(tasks.findByName(" dokkaHtml" ))
@@ -95,7 +97,7 @@ private fun Project.configurePublications() {
95
97
mavenLocal()
96
98
}
97
99
publications.withType<MavenPublication >().forEach { publication ->
98
- publication.artifact(dokkaJar )
100
+ publication.artifact(dokkaJarProvider )
99
101
publication.pom {
100
102
name.set(project.name)
101
103
description.set(project.description ? : project.name)
@@ -111,7 +113,7 @@ private fun Project.configurePublications() {
111
113
developer {
112
114
id.set(" petertrr" )
113
115
name.set(" Petr Trifanov" )
114
- email.set(" peter.trifanov@mail.ru " )
116
+ email.set(" peter.trifanov@gmail.com " )
115
117
}
116
118
developer {
117
119
id.set(" akuleshov7" )
@@ -134,6 +136,13 @@ private fun Project.configureSigning() {
134
136
logger.lifecycle(" The following publications are getting signed: ${extensions.getByType<PublishingExtension >().publications.map { it.name }} " )
135
137
sign(* extensions.getByType<PublishingExtension >().publications.toTypedArray())
136
138
}
139
+
140
+ tasks.withType<PublishToMavenRepository >().configureEach {
141
+ // Workaround for the problem described at https://github.com/saveourtool/save-cli/pull/501#issuecomment-1439705340.
142
+ // We have a single Javadoc artifact shared by all platforms, hence all publications depend on signing of this artifact.
143
+ // This causes weird implicit dependencies, like `publishJsPublication...` depends on `signJvmPublication`.
144
+ dependsOn(tasks.withType<Sign >())
145
+ }
137
146
}
138
147
139
148
private fun Project.configureNexusPublishing () {
0 commit comments