apply plugin: "antlr" sourceCompatibility = 1.8 [compileJava, compileTestJava]*.options*.encoding = 'UTF-8' sourceSets.main.java.srcDirs = [ "src/", "build/generated-src" ] sourceSets.main.antlr.srcDirs = [ "antlr-src/" ] project.ext.mainClassName = "com.etheller.warsmash.fdfparser.Main" task run(dependsOn: classes, type: JavaExec) { main = project.mainClassName classpath = sourceSets.main.runtimeClasspath standardInput = System.in ignoreExitValue = true } task dist(type: Jar) { from files(sourceSets.main.output.classesDir) from files(sourceSets.main.output.resourcesDir) from {configurations.compile.collect {zipTree(it)}} manifest { attributes 'Main-Class': project.mainClassName } } dist.dependsOn classes eclipse.project { name = appName + "-fdfparser" } task afterEclipseImport(description: "Post processing after project generation", group: "IDE") { doLast { def classpath = new XmlParser().parse(file(".classpath")) def writer = new FileWriter(file(".classpath")) def printer = new XmlNodePrinter(new PrintWriter(writer)) printer.setPreserveWhitespace(true) printer.print(classpath) } } generateGrammarSource { maxHeapSize = "64m" arguments += ["-visitor", "-no-listener"] outputDirectory = file("build/generated-src/com/etheller/warsmash/fdfparser") }