Gradle now uses separate output directories for each JVM language

IDEA Gradle “Build: Sync” reports

Gradle now uses separate output directories for each JVM language, but this build assumes a single directory for all classes from a source set. This behaviour has been deprecated and is scheduled to be removed in Gradle 5.0

How do I get detailed information from the “sync build” where the build (which plugin) assumes single output directories? I don’t see any line information within the warning message.

The scan log does not show a similar warning: https://scans.gradle.com/s/auakjg6b5eheo/log

Make sure you are using the latest IDEA version. Older ones were calling the now-deprecated API.

Using 2017.3 EAP – too young? :wink:

The fix in IDEA was done on the 8th of August, so 2017.3 should be fine I think. Do you see the message when running gradle idea --stacktrace?

Running gradlew idea with the following options

--info
--debug
--stacktrace

does not produce any warning regarding “separate output directories”.

It only happens with the “Refresh all Gradle projects” within IDEA. Any idea how to pass those options to that “sync” action?

Here is the info.txt https://gist.github.com/sormuras/79c17b93f1dd9f9f40a29862806c285a

I don’t know of a way, but maybe @Vladislav_Soroka does? Is the fix to not call getClassesDir already in 2017.3?

There is still a model builder which uses getClassesDir method in IntelliJ, that builder was deprecated and will be removed soon.

2 Likes