There are a few logging statements in Groovyc and GroovycTask.  But very little 
is above the info level.  There is a "verbose" flag.  Nothing in Groovyc.java 
itself is using that before logging.  Maybe a quick comparison to the Javac Ant 
Task to show which logging is hidden under the verbose option.  Or which 
logging is info versus debug.

https://github.com/apache/groovy/blob/master/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/Groovyc.java
https://github.com/apache/ant/blob/master/src/main/org/apache/tools/ant/taskdefs/Javac.java

________________________________
From: Per Nyfelt <p...@alipsa.se>
Sent: Wednesday, May 7, 2025 4:45 PM
To: dev@groovy.apache.org <dev@groovy.apache.org>
Subject: [EXT] The groovyc ant task

External Email: Use caution with links and attachments.


Hi,

The groovyc ant task (org.codehaus.groovy.ant.Groovyc) is quite noicy printing 
the classpath etc. when invoked. Some Ant tasks have a quiet option that 
silences the non-error output which would be nice here.

Even though it is possible to do

def ant = new AntBuilder()
ant.taskdef(name: 'groovyc', classname: 'org.codehaus.groovy.ant.Groovyc')
def listener = ant.getBuildListeners().firstElement()
def oldLevel = listener.getMessageOutputLevel()
listener.setMessageOutputLevel(1)


ant.groovyc(
    srcdir: 'src/test/groovy',
    destdir: 'out/testClasses',
    classpath: 'testPath',
    targetBytecode: "21"
)

listener.setMessageOutputLevel(oldLevel)


I think it would be nicer to be able to just do

ant.groovyc(
    srcdir: 'src/test/groovy',
    destdir: 'out/testClasses',
    classpath: 'testPath',
    targetBytecode: "21"
    quiet: true
)

Would it be acceptable if I submitted a PR for adding a quiet parameter to the 
groovyc task?

Best regards,

Per

Reply via email to