apply plugin: 'java' configure(riverProjects()) { apply plugin: 'java' sourceCompatibility = 1.5 version = '2.2-SNAPSHOT' } def riverProjects() { subprojects.findAll { project -> File f = new File(project.projectDir, 'build.gradle') f.exists() } } def checkDir(dir) { if(!dir.exists()) dir.mkdirs() } task dist << { File dist = new File(projectDir, distsDirName) File lib = new File(dist, 'lib') File libDL = new File(dist, 'lib-dl') [lib, libDL].each { f -> checkDir(f)} subprojects.each { project -> project.tasks.withType(Jar).each {archiveTask -> File target if(archiveTask.archivePath.name.contains("proxy") || archiveTask.archivePath.name.contains("dl")) target = libDL else target = lib copy { from archiveTask.archivePath into target } } } }