import org.apache.tools.ant.Project
def binOutput = "target/eclipse/bin-output"
def testOutput = "target/eclipse/test-output"
generateOutputDir(project, binOutput)
generateOutputDir(project, testOutput)
def sw = new FileWriter(".classpath")
def pw = new PrintWriter(sw)
def mkp = new groovy.xml.MarkupBuilder(pw)
pw.println('<?xml version="1.0" encoding="UTF-8"?>')
def added = new HashSet()
mkp.doubleQuotes = true
mkp.classpath {
classpathentry(kind:"src", path: "src/commons")
classpathentry(kind:"src", path: "src/config")
classpathentry(kind:"src", path: "src/tiger")
classpathentry(kind:"src", path: "src/web")
classpathentry(kind:"src", path: "src/persistence")
classpathentry(kind:"src", path: "src/scaffolding")
classpathentry(kind:"src", path: "test/groovy", output: testOutput)
classpathentry(kind:"src", path: "test/commons", output: testOutput)
classpathentry(kind:"src", path: "test/web", output: testOutput)
classpathentry(kind:"src", path: "test/persistence", output: testOutput)
classpathentry(kind:"src", path: "test/scaffolding", output: testOutput)
classpathentry(kind:"output", path: binOutput)
classpathentry(kind:"lib", path: "lib/hibernate3.jar", sourcepath: "/HIBERNATE_HOME/src")
added.add("hibernate3.jar")
classpathentry(kind:"lib", path: "lib/spring-2.0.2.jar", sourcepath: "/SPRING_HOME/src")
added.add("spring-2.0.2.jar")
classpathentry(kind:"lib", path: "lib/spring-mock-2.0.2.jar", sourcepath: "/SPRING_HOME/mock")
added.add("spring-mock-2.0.2.jar")
new File('lib').eachFile { f ->
if (!(f.directory || added.contains(f.name)))
{
classpathentry(kind: "lib", path: "lib/" + f.name)
}
}
classpathentry(kind:"lib", path: "ant/lib/ant.jar")
classpathentry(kind:"con", path: "org.eclipse.jdt.launching.JRE_CONTAINER")
if (project.properties["plugin.disabled"])
{
project.log("Eclipse plugin disabled. Adding Groovy compile targets to classpath", Project.MSG_WARN)
//plugin is disabled, which means you need to build
//groovy using the ant scripts.
//This adds the ant scripts to the classpath
classpathentry(kind:"lib", path: "target/classes/core")
classpathentry(kind:"lib", path: "target/classes/crud")
classpathentry(kind:"lib", path: "target/classes/gorm")
classpathentry(kind:"lib", path: "target/classes/web")
classpathentry(kind:"lib", path: "target/classes/config")
}
}
void generateOutputDir(project, dirName)
{
def output = new File(dirName)
if (!output.exists())
{
output.mkdirs()
project.log("Generating Eclipse output folder " + output.path, Project.MSG_INFO)
}
}