I have the following:
All in the same folder.
Now I w
You can do this via Ant as shown with a full example here. See the Compiling and running with Ant section.
You'll have to download ant, make sure the ANT_HOME and JAVA_HOME variables are set, and put the ANT_HOME/bin in your PATH.
Once you have the build.xml in place, you can call ant
at the command line which will run the build.xml
More details on the Groovy ant task here
With Maven, use the gmaven plugin. From its documentation:
Execute a Local Groovy Script
<plugin> <groupId>org.codehaus.gmaven</groupId> <artifactId>gmaven-plugin</artifactId> <version>1.3</version> <executions> <execution> <phase>generate-resources</phase> <goals> <goal>execute</goal> </goals> <configuration> <source>${pom.basedir}/src/main/script/myscript.groovy</source> </configuration> </execution> </executions> </plugin>
And trigger the specified phase.
Or, if you don't want to bind the plugin to a particular phase, you could configure it like this:
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.3</version>
<configuration>
<source>
println "Hi"
</source>
</configuration>
</plugin>
And call
mvn groovy:execute
There is a groovy plugin for ANT that can invoke groovy scripts
<groovy src="helloWorld.groovy"/>
I would recommend combining it with ivy which can download the required jars for you, similar to the Maven example given previously.
build.xml
<project name="demo" default="run" xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="resolve">
<ivy:resolve/>
<ivy:cachepath pathid="build.path"/>
</target>
<target name="run" depends="resolve">
<taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="build.path"/>
<groovy src="helloWorld.groovy"/>
</target>
</project>
ivy.xml
<ivy-module version="2.0">
<info organisation="org.myorg" module="demo"/>
<dependencies>
<dependency org="org.codehaus.groovy" name="groovy-all" rev="1.7.4" conf="default"/>
</dependencies>
</ivy-module>