group = 'asys' version = '0.7.11-SNAPSHOT' apply plugin: 'application' mainClassName = "asys.zond.Main" configurations { included includedEx compile.extendsFrom included compile.extendsFrom includedEx } def zp(FileTree ft) { return ft.matching { exclude 'org/apache/commons/exec/StreamPumper.class' } } compileJava { dependsOn ':libprotocol:compileJava' } jar { dependsOn configurations.included dependsOn configurations.includedEx manifest { attributes 'Implementation-Title': 'ASys Zond', 'Implementation-Version': version, 'Main-Class': mainClassName } baseName = project.group + '.' + project.name from { configurations.included.collect { it.isDirectory() ? it : zipTree(it) } } from { configurations.includedEx.collect { it.isDirectory() ? it : zp(zipTree(it)) } } } ext { nettyVersion = '4.0.23.Final' } dependencies { included files(project(':libprotocol').sourceSets.main.output.classesDir) included group: 'jline', name: 'jline', version: '2.14.3' includedEx group: 'org.apache.commons', name: 'commons-exec', version: '1.3' included group: 'io.netty', name: 'netty-codec', version: nettyVersion included group: 'com.google.guava', name: 'guava', version: '21.0' }