Hi.
It's the intended change: in Gradle 4.0, separate classes directories were introduced (
https://docs.gradle.org/4.0/release-notes.html#multiple-class-directories-for-a-single-source-set). Earlier, the classes from all the JVM languages that are used in the project were put into a single directory. With Gradle 4.0+, the previous behavior has been deprecated, each language now has its own separate classes directory, which is useful for incremental builds and caching.
Kotlin supports this starting with version 1.1.4 (
https://youtrack.jetbrains.com/issue/KT-18544) , and the classes are by default placed in
build/classes/kotlin/<sourceSetName>
. Please consider using the new API and consume classes with
sourceSet.output.classesDirs
and do not expect the Kotlin classes to be put into the Java classes directory.