@@ -6,6 +6,7 @@ import org.gradle.api.artifacts.Dependency
66import org.gradle.api.artifacts.DependencySet
77import org.gradle.api.artifacts.ProjectDependency
88import org.gradle.api.publish.maven.MavenPublication
9+ import org.gradle.api.tasks.SourceSet
910import org.gradle.api.tasks.bundling.Jar
1011import org.gradle.kotlin.dsl.get
1112import org.gradle.kotlin.dsl.register
@@ -73,6 +74,30 @@ fun MavenPublication.addSourcesAndJavadoc(project: Project) {
7374 artifact(project.tasks[" dokkaJavadocJar" ])
7475}
7576
77+ fun MavenPublication.addSourcesAndJavadoc (
78+ project : Project , sourceSet : SourceSet ,
79+ name : String , artifactName : String
80+ ) {
81+ val sourcesJarTask = project.tasks.register<Jar >(" $name -sources-jar" ) {
82+ archiveBaseName.set(artifactName)
83+ archiveClassifier.set(" sources" )
84+ from(sourceSet.allSource)
85+ }
86+
87+ val javaDocJarTask = project.tasks.register<Jar >(" $name -javadoc-jar" ) {
88+ archiveBaseName.set(artifactName)
89+ archiveClassifier.set(" javadoc" )
90+
91+ val javaDocTask = project.tasks[" dokkaJavadocJar" ]
92+ dependsOn(javaDocTask)
93+
94+ from(javaDocTask.outputs)
95+ }
96+
97+ artifact(sourcesJarTask.get())
98+ artifact(javaDocJarTask.get())
99+ }
100+
76101fun MavenPublication.addEmptyArtifact (project : Project ): Unit = with (project) {
77102 artifact(generateEmptyJar())
78103 artifact(generateEmptyJar(" sources" ))
0 commit comments