Implement dependsOn relation for Kotlin source sets

* Setup configurations' extendsFrom and inherit sources of source sets.
  This make it unnecessary to restore transitive dependencies of a
  source set at its use sites, since their sources and dependencies are
  already included.

* Use dependsOn during default configuration instead of compilation.source()
This commit is contained in:
Sergey Igushkin
2018-08-01 22:20:00 +03:00
parent 93943a565c
commit 3ff61f59a7
7 changed files with 86 additions and 25 deletions
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.gradle.plugin.HasKotlinDependencies
interface KotlinSourceSet : Named, HasKotlinDependencies {
val kotlin: SourceDirectorySet
val resources: SourceDirectorySet
fun kotlin(configureClosure: Closure<Any?>): SourceDirectorySet
@@ -19,8 +20,8 @@ interface KotlinSourceSet : Named, HasKotlinDependencies {
const val COMMON_MAIN_SOURCE_SET_NAME = "commonMain"
const val COMMON_TEST_SOURCE_SET_NAME = "commonTest"
}
}
interface KotlinSourceSetWithResources : KotlinSourceSet {
val resources: SourceDirectorySet
fun dependsOn(other: KotlinSourceSet)
val dependsOn: Set<KotlinSourceSet>
}