Gradle now uses separate output directories for each JVM language


(Christian Stein) #1

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


(Stefan Oehme) #2

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


(Christian Stein) #3

Using 2017.3 EAP – too young? :wink:


(Stefan Oehme) #4

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?


(Christian Stein) #5

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


(Stefan Oehme) #6

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


(Vladislav Soroka) #7

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