Skip to content

Commit a7ee578

Browse files
authored
Register javadoc and sources after evaluating project (#45)
1 parent c76d0a4 commit a7ee578

File tree

4 files changed

+20
-14
lines changed

4 files changed

+20
-14
lines changed

.github/workflows/build-and-publish.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
jobs:
99
build-and-publish:
1010
name: Java Gradle
11-
uses: bakdata/ci-templates/.github/workflows/java-gradle-plugin.yaml@1.40.8
11+
uses: bakdata/ci-templates/.github/workflows/java-gradle-plugin.yaml@1.41.0
1212
secrets:
1313
sonar-token: ${{ secrets.SONARCLOUD_TOKEN }}
1414
sonar-organization: ${{ secrets.SONARCLOUD_ORGANIZATION }}

.github/workflows/release.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ on:
1616
jobs:
1717
java-gradle-release:
1818
name: Java Gradle
19-
uses: bakdata/ci-templates/.github/workflows/java-gradle-release.yaml@1.40.8
19+
uses: bakdata/ci-templates/.github/workflows/java-gradle-release.yaml@1.41.0
2020
with:
2121
release-type: "${{ inputs.release-type }}"
2222

build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ plugins {
33
id("net.researchgate.release") version "3.0.2"
44
// eat your own dog food - apply the plugins to this plugin project
55
id("com.bakdata.sonar") version "1.1.17"
6-
id("com.bakdata.sonatype") version "1.1.18"
6+
id("com.bakdata.sonatype") version "1.2.1"
77
id("org.hildan.github.changelog") version "1.13.1"
88
id("org.gradle.kotlin.kotlin-dsl") version "2.1.6" apply false
99
id("com.gradle.plugin-publish") version "1.2.1" apply false

sonatype/src/main/kotlin/com/bakdata/gradle/SonatypePlugin.kt

+17-11
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@
2424

2525
package com.bakdata.gradle
2626

27-
import io.github.gradlenexus.publishplugin.InitializeNexusStagingRepository
2827
import io.github.gradlenexus.publishplugin.NexusPublishExtension
2928
import org.gradle.api.GradleException
3029
import org.gradle.api.Plugin
3130
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
3333
import org.gradle.api.logging.Logging
3434
import org.gradle.api.plugins.JavaPluginExtension
3535
import org.gradle.api.publish.PublishingExtension
@@ -38,7 +38,7 @@ import org.gradle.api.publish.maven.tasks.AbstractPublishToMaven
3838
import org.gradle.api.publish.maven.tasks.GenerateMavenPom
3939
import org.gradle.api.publish.maven.tasks.PublishToMavenLocal
4040
import org.gradle.api.publish.plugins.PublishingPlugin
41-
import org.gradle.api.tasks.SourceSetContainer
41+
import org.gradle.api.tasks.SourceSet
4242
import org.gradle.api.tasks.bundling.Jar
4343
import org.gradle.kotlin.dsl.*
4444
import org.gradle.plugins.signing.Sign
@@ -220,16 +220,22 @@ class SonatypePlugin : Plugin<Project> {
220220
apply(plugin = "signing")
221221
apply(plugin = "org.gradle.maven-publish")
222222

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+
}
227233
}
228-
}
229234

230-
configure<JavaPluginExtension> {
231-
withSourcesJar()
232-
withJavadocJar()
235+
configure<JavaPluginExtension> {
236+
withSourcesJar()
237+
withJavadocJar()
238+
}
233239
}
234240

235241
configure<PublishingExtension> {

0 commit comments

Comments
 (0)