@@ -24,9 +24,9 @@ import org.gradle.api.Project
24
24
import org.gradle.api.artifacts.Configuration
25
25
import org.gradle.api.artifacts.Dependency
26
26
import org.gradle.api.tasks.SourceSet
27
+ import org.gradle.api.tasks.TaskDependency
27
28
import org.gradle.api.tasks.compile.AbstractCompile
28
29
import org.gradle.api.tasks.compile.JavaCompile
29
- import org.jetbrains.kotlin.com.intellij.openapi.util.io.FileUtil
30
30
import org.jetbrains.kotlin.gradle.plugin.*
31
31
import org.jetbrains.kotlin.gradle.tasks.CompilerPluginOptions
32
32
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
@@ -132,16 +132,20 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
132
132
assert ((variantData != null ) xor (javaSourceSet != null ))
133
133
134
134
val kaptClasspath = arrayListOf<File >()
135
+ val buildDependencies = arrayListOf<TaskDependency >()
135
136
136
137
fun handleSourceSet (sourceSetName : String ) {
137
138
val kaptConfiguration = project.findKaptConfiguration(sourceSetName)
138
139
val filteredDependencies = kaptConfiguration?.dependencies?.filter {
139
140
it.group != getGroupName() || it.name != getArtifactName()
140
141
} ? : emptyList()
141
142
142
- if (kaptConfiguration != null && filteredDependencies.isNotEmpty()) {
143
- javaCompile.dependsOn(kaptConfiguration.buildDependencies)
144
- kaptClasspath.addAll(kaptConfiguration.resolve())
143
+ if (kaptConfiguration != null ) {
144
+ buildDependencies + = kaptConfiguration.buildDependencies
145
+
146
+ if (filteredDependencies.isNotEmpty()) {
147
+ kaptClasspath.addAll(kaptConfiguration.resolve())
148
+ }
145
149
}
146
150
}
147
151
@@ -169,6 +173,8 @@ class Kapt3KotlinGradleSubplugin : KotlinGradleSubplugin<KotlinCompile> {
169
173
val kaptGenerateStubsTask = context.createKaptGenerateStubsTask()
170
174
val kaptTask = context.createKaptKotlinTask()
171
175
176
+ kaptTask.dependsOn(* buildDependencies.toTypedArray())
177
+
172
178
kaptGenerateStubsTask.dependsOn(* kotlinCompile.dependsOn.toTypedArray())
173
179
kaptTask.dependsOn(kaptGenerateStubsTask)
174
180
kotlinCompile.dependsOn(kaptTask)
0 commit comments