@@ -6,13 +6,9 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
6
6
7
7
plugins {
8
8
id(" org.jetbrains.conventions.dokka-integration-test" )
9
- id( " com.github.johnrengelman. shadow" )
9
+ alias(libs.plugins. shadow)
10
10
}
11
11
12
- val dokka_version: String by project
13
- evaluationDependsOn(" :runners:cli" )
14
- evaluationDependsOn(" :plugins:base" )
15
-
16
12
dependencies {
17
13
implementation(kotlin(" test-junit5" ))
18
14
implementation(projects.integrationTestUtilities)
@@ -25,16 +21,31 @@ val basePluginShadow: Configuration by configurations.creating {
25
21
}
26
22
}
27
23
24
+ val cliConfiguration: Configuration by configurations.creating {
25
+ attributes {
26
+ attribute(Usage .USAGE_ATTRIBUTE , project.objects.named(Usage ::class .java, Usage .JAVA_RUNTIME ))
27
+ attribute(Bundling .BUNDLING_ATTRIBUTE , project.objects.named(Bundling ::class .java, Bundling .SHADOWED ))
28
+ }
29
+ // we should have single artifact here
30
+ isTransitive = false
31
+ }
32
+
28
33
dependencies {
29
- basePluginShadow(projects.plugins.base)
34
+ cliConfiguration(" org.jetbrains.dokka:cli" )
35
+
36
+ basePluginShadow(" org.jetbrains.dokka:plugin-base" )
30
37
31
38
// TODO [beresnev] analysis switcher
32
- basePluginShadow(project(path = " :subprojects:analysis-kotlin-descriptors" , configuration = " shadow" ))
39
+ basePluginShadow(" org.jetbrains.dokka:analysis-kotlin-descriptors" ) {
40
+ attributes {
41
+ attribute(Bundling .BUNDLING_ATTRIBUTE , project.objects.named(Bundling ::class .java, Bundling .SHADOWED ))
42
+ }
43
+ }
33
44
}
34
45
35
46
val basePluginShadowJar by tasks.register(" basePluginShadowJar" , ShadowJar ::class ) {
36
47
configurations = listOf (basePluginShadow)
37
- archiveFileName.set(" fat-base-plugin-$dokka_version .jar" )
48
+ archiveFileName.set(" fat-base-plugin-${project.version} .jar" )
38
49
archiveClassifier.set(" " )
39
50
40
51
// service files are merged to make sure all Dokka plugins
@@ -43,10 +54,10 @@ val basePluginShadowJar by tasks.register("basePluginShadowJar", ShadowJar::clas
43
54
}
44
55
45
56
tasks.integrationTest {
57
+ dependsOn(cliConfiguration)
58
+ dependsOn(basePluginShadowJar)
59
+
46
60
inputs.dir(file(" projects" ))
47
- val cliJar = tasks.getByPath(" :runners:cli:shadowJar" ) as ShadowJar
48
- environment(" CLI_JAR_PATH" , cliJar.archiveFile.get())
61
+ environment(" CLI_JAR_PATH" , cliConfiguration.singleFile)
49
62
environment(" BASE_PLUGIN_JAR_PATH" , basePluginShadowJar.archiveFile.get())
50
- dependsOn(cliJar)
51
- dependsOn(basePluginShadowJar)
52
63
}
0 commit comments