Gradle should provide Java / Android build logs as good as old Ant system


(Jimi Damon) #1

It is near impossible to get actually useful information about a build that can be reproduced using command line javac, aapt , dex (…etc ) commands.

Case in point , you create a simple java android project and try to build it

gradle build --info --console plain 2>&1 | tee out.log

vi out.log

…verbage …verbage …verbage
No mention of javac anywhere nor which files are included.

Compare this to the ant build :

[javac] Compiling 2 source files to /media/jdamon/Development/Documents/Projects/NDK/ant_ndk_samples/hello-jni/com.example.foo/bin/classes
[javac] Using modern compiler
[javac] Compilation arguments:
[javac] ‘-d’
[javac] ‘/media/jdamon/Development/Documents/Projects/NDK/ant_ndk_samples/hello-jni/com.example.foo/bin/classes’
[javac] ‘-classpath’
[javac] ‘/media/jdamon/Development/Documents/Projects/NDK/ant_ndk_samples/hello-jni/com.example.foo/bin/classes:/home/jdamon/Tools/android-sdk-linux/tools/support/annotations.jar’
[javac] ‘-sourcepath’
[javac] ‘/media/jdamon/Development/Documents/Projects/NDK/ant_ndk_samples/hello-jni/com.example.foo/src:/media/jdamon/Development/Documents/Projects/NDK/ant_ndk_samples/hello-jni/com.example.foo/gen’
[javac] ‘-target’
[javac] ‘1.5’
[javac] ‘-bootclasspath’
[javac] ‘/home/jdamon/Tools/android-sdk-linux/platforms/android-12/android.jar’
[javac] ‘-encoding’
[javac] ‘UTF-8’
[javac] ‘-g’
[javac] ‘-source’
[javac] ‘1.5’

Another case is the Dex command.

Your logs just say
Dexing /home/jdamon/AndroidStudioProjects/TemperatureConverter/app/build/intermediates/jacoco/jacocoagent.jar took 6.394 s

???

Yeah, Annnnnnnd how was it run ??

Compare that to the old Ant build log:

-dex:
[dex] input: /media/jdamon/Development/Documents/Projects/NDK/ant_ndk_samples/hello-jni/bin/classes
[dex] input: /media/jdamon/Development/Documents/Projects/NDK/ant_ndk_samples/hello-jni/com.example.foo/bin/classes.jar
[dex] input: /home/jdamon/Tools/android-sdk-linux/tools/support/annotations.jar
[dex] input: /media/jdamon/Development/Documents/Projects/NDK/ant_ndk_samples/hello-jni/libs/scala-library.jar
[dex] input: /media/jdamon/Development/Documents/Projects/NDK/ant_ndk_samples/hello-jni/libs/AIOUSB.jar
[dex] Pre-Dexing /media/jdamon/Development/Documents/Projects/NDK/ant_ndk_samples/hello-jni/com.example.foo/bin/classes.jar -> classes-650cba5e520be68a1f08f466ec2fa157.jar
[dx] Current OS is Linux
[dx] Executing ‘/home/jdamon/Tools/android-sdk-linux/build-tools/23.0.3/dx’ with arguments:
[dx] ‘–dex’
[dx] ‘–output’
[dx] ‘/media/jdamon/Development/Documents/Projects/NDK/ant_ndk_samples/hello-jni/bin/dexedLibs/classes-650cba5e520be68a1f08f466ec2fa157.jar’
[dx] ‘/media/jdamon/Development/Documents/Projects/NDK/ant_ndk_samples/hello-jni/com.example.foo/bin/classes.jar’
[dx]
[dx] The ’ characters around the executable and arguments are
[dx] not part of the command.
[dex] Pre-Dexing /home/jdamon/Tools/android-sdk-linux/tools/support/annotations.jar -> annotations-d4548245874597f462feb72e9304e74c.jar
[dx] Current OS is Linux
[dx] Executing ‘/home/jdamon/Tools/android-sdk-linux/build-tools/23.0.3/dx’ with arguments:
[dx] ‘–dex’
[dx] ‘–output’
[dx] ‘/media/jdamon/Development/Documents/Projects/NDK/ant_ndk_samples/hello-jni/bin/dexedLibs/annotations-d4548245874597f462feb72e9304e74c.jar’
[dx] ‘/home/jdamon/Tools/android-sdk-linux/tools/support/annotations.jar’
[dx]
[dx] The ’ characters around the executable and arguments are
[dx] not part of the command.

No offense, but Gradle’s log files are Terrible and filled with so much unwanted verbage that is both useless ( no actual reproducible commands ) and overly verbose for what a user wants to see in a build log.