<build>
<plugins>
...
<plugin>
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
    <execution>
      <id>compile</id>
      <!--<phase>compile</phase>-->
      <phase>generate-sources</phase>
      <configuration>
        <tasks>
          <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc">
            <classpath refid="maven.compile.classpath"></classpath>
          </taskdef>
          <mkdir dir="${project.build.outputDirectory}"></mkdir>
          <groovyc destdir="${project.build.outputDirectory}"
                    srcdir="${basedir}/src/main/java/"
                    listfiles="true">
            <classpath refid="maven.compile.classpath"></classpath>
          </groovyc>
        </tasks>
      </configuration>
      <goals>
        <goal>run</goal>
      </goals>
    </execution>
    <execution>
      <id>test-compile</id>
      <phase>test-compile</phase>
      <configuration>
        <tasks>
          <taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc">
            <classpath refid="maven.compile.classpath"></classpath>
          </taskdef>
          <mkdir dir="${project.build.testOutputDirectory}"></mkdir>
          <groovyc destdir="${project.build.testOutputDirectory}"
                    srcdir="${basedir}/src/test/java/" listfiles="true">
            <classpath refid="maven.test.classpath"></classpath>
          </groovyc>
        </tasks>
      </configuration>
      <goals>
        <goal>run</goal>
      </goals>
    </execution>
  </executions>
</plugin>
</plugins>
</build>