import java.text.SimpleDateFormat defaultTasks "clean", "release" apply plugin: 'base' archivesBaseName = 'elasticsearch' buildTime = new Date() SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); buildTimeStr = sdf.format(buildTime) versionNumber = '0.6.0-SNAPSHOT' explodedDistDir = new File(distsDir, 'exploded') explodedDistLibDir = new File(explodedDistDir, 'lib') explodedDistBinDir = new File(explodedDistDir, 'bin') explodedDistConfigDir = new File(explodedDistDir, 'config') allprojects { group = 'org.elasticsearch' version = versionNumber plugins.withType(JavaPlugin).whenPluginAdded { sourceCompatibility = 1.6 targetCompatibility = 1.6 } repositories { mavenCentral() mavenRepo urls: 'http://repository.jboss.com/maven2/' } } configurations { dists distLib { visible = false } } dependencies { distLib project(':elasticsearch') } task explodedDist(dependsOn: [configurations.distLib], description: 'Builds a minimal distribution image') << { [explodedDistDir, explodedDistLibDir, explodedDistBinDir, explodedDistConfigDir]*.mkdirs() // remove old elasticsearch files ant.delete { fileset(dir: explodedDistLibDir, includes: "$archivesBaseName-*.jar") } copy { from configurations.distLib into explodedDistLibDir } copy { from('bin'); into explodedDistBinDir } copy { from('config'); into explodedDistConfigDir } copy { from('.') into explodedDistDir include 'LICENSE.txt' include 'NOTICE.txt' include 'README.textile' } ant.chmod(dir: "$explodedDistDir/bin", perm: "ugo+rx", includes: "**/*") } task zip(type: Zip, dependsOn: ['explodedDist']) { zipRootFolder = "$archivesBaseName-${-> version}" from(explodedDistDir) { into zipRootFolder exclude 'bin/*' } from(explodedDistDir) { into zipRootFolder include 'bin/*' exclude 'bin/*.*' fileMode: '775' } from(explodedDistDir) { into zipRootFolder include 'bin/*.*' } } //zip.doFirst {task -> // task.configure { // zipFileSet(dir: explodedDistDir, prefix: zipRootFolder) { // exclude 'bin/*' // } // zipFileSet(dir: explodedDistDir, prefix: zipRootFolder, fileMode: '775') { // include 'bin/*' // exclude 'bin/*.*' // } // zipFileSet(dir: explodedDistDir, prefix: zipRootFolder) { // include 'bin/*.*' // } // } //} // task release(dependsOn: [zip, ":plugins-attachments:release"]) << { ant.delete(dir: explodedDistDir) } task wrapper(type: Wrapper) { gradleVersion = '0.9-preview-1' jarPath = 'gradle' }