Gradle and print verbose class loading


(Jagadish) #1

I work on Apache Samza (which uses Gradle for dependency management). The build.gradle file is https://github.com/apache/samza/blob/master/build.gradle .

I am trying to debug a test that is failing due to a java.lang.SecurityException. The exception is caused by the same package class being loaded from different jars. I enabled export GRADLE_OPTS="$GRADLE_OPTS -verbose:class" to trace the jars from which classes are loaded.

Here’s my problem:
I see the loaded messages for only the gradle internal classes.
[Loaded org.gradle.cache.internal.filelock.LockFileAccess from …/lib/gradle-core-2.8.jar]
[Loaded org.gradle.internal.io.RandomAccessFileOutputStream from …]

However, the only classes that I care about are the classes in my project. I suspect that gradle is probably suppressing the [Loaded] messages for classes in my project. I tried enabling STDOUT, and STDERR for my tests by setting showStandardStreams = true. (While that prints the messages that are being written to STDERR, that still does not print the Loaded messages for my internal classes).

Any pointers on this will be greatly appreciated.


(Jagadish) #2

Never mind. I found that tests actually run in a separate JVM, and it’s possible to configure jvmArgs for tests.

Thanks,
Jagadish