Re: Re: making the most of Groovy in Action 2nd edition

2024-04-02 Thread Nelson, Erick
Not sure if this is the best way to do this, but I wrap antbuilder in my own 
class so that I can get ant event messages to my logger


package script.ant



import groovy.ant.AntBuilder as AB

import org.apache.tools.ant.BuildEvent

import org.apache.tools.ant.BuildLogger



@groovy.util.logging.Slf4j

class AntBuilder {

static AB newInstance () {

AB ab = new AB()

ab.project.buildListeners.each { ab.project.removeBuildListener(it) }

ab.antProject.addBuildListener(new BuildLogger() {

@Override public void buildStarted (BuildEvent event) { }

@Override public void buildFinished (BuildEvent event) { }

@Override public void targetStarted (BuildEvent event) { }

@Override public void targetFinished (BuildEvent event) { }

   @Override public void taskStarted (BuildEvent event) { }

@Override public void taskFinished (BuildEvent event) { }

@Override public void messageLogged (BuildEvent event) {

if (event?.task) log.info("[{}] {}", 
event.task.taskName, event.message)

}

@Override public void setMessageOutputLevel (int level) { }

@Override public void setOutputPrintStream (PrintStream 
output) { }

@Override public void setEmacsMode (boolean emacsMode) { }

@Override public void setErrorPrintStream (PrintStream err) 
{ }

})

ab

}

}


From: Paul King 
Date: Tuesday, April 2, 2024 at 5:37 AM
To: users@groovy.apache.org 
Subject: [EXT] Re: making the most of Groovy in Action 2nd edition
Hi Dimitar,

From Groovy 4, Groovy's "module" jars are fully-compliant with the
JPMS rule disallowing split packages. The Groovy 3 and 4 release notes
have more details.

But basically, for the example you are showing, AntBuilder is now in
the groovy.ant package, so if you add the appropriate import, you'll
be good to go. AntBuilder was in the groovy.util package in earlier
Groovy versions, and so didn't need the import. Mind you, there will
likely be numerous places where such changes are needed.

We haven't produced an updated version of those examples for Groovy 4.

Cheers, Paul.

On Tue, Apr 2, 2024 at 8:01 PM Dimitar Vassilev
 wrote:
>
> Hi all,
>
> After a bit of extensive bashing, I found some time to re-read Groovy in 
> Action 2nd edition.
> I've downloaded the source code from the publisher also and am wondering how 
> to make the most from the book provided I run Groovy 4.0.20/Mac 12.7.4
> Running groovysh from the console is fine, but it doesn't always print the 
> examples
> going into the groovy book source
>  GroovyInAction % groovy alltests.groovy
> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup 
> failed:
> /Users//GroovyInAction/alltests.groovy: 2: unable to resolve class 
> AntBuilder
>  @ line 2, column 15.
>def ant = new AntBuilder()
>  ^
>
> 1 error
> Thanks!


Re: making the most of Groovy in Action 2nd edition

2024-04-02 Thread Paul King
Hi Dimitar,

>From Groovy 4, Groovy's "module" jars are fully-compliant with the
JPMS rule disallowing split packages. The Groovy 3 and 4 release notes
have more details.

But basically, for the example you are showing, AntBuilder is now in
the groovy.ant package, so if you add the appropriate import, you'll
be good to go. AntBuilder was in the groovy.util package in earlier
Groovy versions, and so didn't need the import. Mind you, there will
likely be numerous places where such changes are needed.

We haven't produced an updated version of those examples for Groovy 4.

Cheers, Paul.

On Tue, Apr 2, 2024 at 8:01 PM Dimitar Vassilev
 wrote:
>
> Hi all,
>
> After a bit of extensive bashing, I found some time to re-read Groovy in 
> Action 2nd edition.
> I've downloaded the source code from the publisher also and am wondering how 
> to make the most from the book provided I run Groovy 4.0.20/Mac 12.7.4
> Running groovysh from the console is fine, but it doesn't always print the 
> examples
> going into the groovy book source
>  GroovyInAction % groovy alltests.groovy
> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup 
> failed:
> /Users//GroovyInAction/alltests.groovy: 2: unable to resolve class 
> AntBuilder
>  @ line 2, column 15.
>def ant = new AntBuilder()
>  ^
>
> 1 error
> Thanks!


making the most of Groovy in Action 2nd edition

2024-04-02 Thread Dimitar Vassilev
Hi all,

After a bit of extensive bashing, I found some time to re-read Groovy in
Action 2nd edition.
I've downloaded the source code from the publisher also and am wondering
how to make the most from the book provided I run Groovy 4.0.20/Mac 12.7.4
Running groovysh from the console is fine, but it doesn't always print the
examples
going into the groovy book source
 GroovyInAction % groovy alltests.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup
failed:
/Users//GroovyInAction/alltests.groovy: 2: unable to resolve class
AntBuilder
 @ line 2, column 15.
   def ant = new AntBuilder()
 ^

1 error
Thanks!