#!/usr/bin/env groovy if (args.size() < 1) { print """\ |Usage: package_groovlet.groovy |Package the current directory into a Groovy Servlet war. |""".stripMargin() return } def war = args[0] def embed = "${System.getenv()['GROOVY_HOME']}/embeddable" def ant = new AntBuilder() ant.sequential { delete(dir: 'build') mkdir(dir: 'build/WEB-INF/lib') copy(toDir: 'build/WEB-INF/lib') { fileset(dir: embed) { include(name: 'groovy-all-*.jar') } } copy(toDir: 'build') { fileset(dir: '.') { exclude(name: 'build/**') } } } new FileOutputStream('build/WEB-INF/web.xml').withWriter { webxml -> webxml.print """\ Groovy groovy.servlet.GroovyServlet Groovy *.groovy """.stripIndent() } ant.jar(destfile: "build/${war}", basedir: 'build') println "Created build/${war}"