24
24
25
25
package com.bakdata.gradle
26
26
27
- import io.github.gradlenexus.publishplugin.InitializeNexusStagingRepository
28
27
import io.github.gradlenexus.publishplugin.NexusPublishExtension
29
28
import org.gradle.api.GradleException
30
29
import org.gradle.api.Plugin
31
30
import org.gradle.api.Project
32
- import org.gradle.api.UnknownTaskException
31
+ import org.gradle.api.Task
32
+ import org.gradle.api.attributes.DocsType.JAVADOC
33
33
import org.gradle.api.logging.Logging
34
34
import org.gradle.api.plugins.JavaPluginExtension
35
35
import org.gradle.api.publish.PublishingExtension
@@ -38,7 +38,7 @@ import org.gradle.api.publish.maven.tasks.AbstractPublishToMaven
38
38
import org.gradle.api.publish.maven.tasks.GenerateMavenPom
39
39
import org.gradle.api.publish.maven.tasks.PublishToMavenLocal
40
40
import org.gradle.api.publish.plugins.PublishingPlugin
41
- import org.gradle.api.tasks.SourceSetContainer
41
+ import org.gradle.api.tasks.SourceSet
42
42
import org.gradle.api.tasks.bundling.Jar
43
43
import org.gradle.kotlin.dsl.*
44
44
import org.gradle.plugins.signing.Sign
@@ -220,16 +220,22 @@ class SonatypePlugin : Plugin<Project> {
220
220
apply (plugin = " signing" )
221
221
apply (plugin = " org.gradle.maven-publish" )
222
222
223
- tasks.findByName(" dokka" )?.apply {
224
- tasks.creating(Jar ::class ) {
225
- archiveClassifier.set(" javadoc" )
226
- from(this )
223
+ // Java and Dokka plugins might not have been applied yet
224
+ project.afterEvaluate {
225
+ tasks.findByName(" dokka" )?.apply {
226
+ val javadocTask: Task = this
227
+ val main: SourceSet =
228
+ the<JavaPluginExtension >().sourceSets.getByName(SourceSet .MAIN_SOURCE_SET_NAME )
229
+ tasks.create<Jar >(main.javadocJarTaskName) {
230
+ archiveClassifier.set(JAVADOC )
231
+ from(javadocTask)
232
+ }
227
233
}
228
- }
229
234
230
- configure<JavaPluginExtension > {
231
- withSourcesJar()
232
- withJavadocJar()
235
+ configure<JavaPluginExtension > {
236
+ withSourcesJar()
237
+ withJavadocJar()
238
+ }
233
239
}
234
240
235
241
configure<PublishingExtension > {
0 commit comments