apply plugin: 'application' apply plugin: 'eclipse' mainClassName = 'kieker.gui.Main' version = '1.0-SNAPSHOT' sourceCompatibility = '1.7' targetCompatibility = '1.7' repositories { mavenCentral() maven { url 'https://swt-repo.googlecode.com/svn/repo/' } maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } } configurations { windowsX86Runtime windowsX64Runtime linuxX86Runtime linuxX64Runtime providedCompile } dependencies { // One of the runtime dependencies has to be used during the compilation. Modify this entry for Eclipse depending on your development JRE. providedCompile 'org.eclipse.swt:org.eclipse.swt.win32.win32.x86_64:4.4' windowsX86Runtime 'org.eclipse.swt:org.eclipse.swt.win32.win32.x86:4.4' windowsX64Runtime 'org.eclipse.swt:org.eclipse.swt.win32.win32.x86_64:4.4' linuxX86Runtime 'org.eclipse.swt:org.eclipse.swt.gtk.linux.x86:4.4' linuxX64Runtime 'org.eclipse.swt:org.eclipse.swt.gtk.linux.x86_64:4.4' compile 'net.sourceforge.teetime:teetime:1.0-SNAPSHOT' compile 'net.sourceforge.teetime-stages:teetime-stages:1.0-SNAPSHOT' compile 'net.kieker-monitoring:kieker:1.11-SNAPSHOT' compile 'org.eclipse:jface:3.2.1-M20060908-1000' } // Add the provided-scoped dependencies to the classpaths sourceSets.main.compileClasspath += configurations.providedCompile eclipse.classpath.plusConfigurations += [configurations.providedCompile] def commonStartScriptConfiguration = { mainClassName = project.mainClassName applicationName = 'start' outputDir = new File(project.buildDir, 'scripts') classpath = jar.outputs.files + project.configurations.runtime } task createStartScriptWinX86(type: CreateStartScripts) { configure commonStartScriptConfiguration classpath += project.configurations.windowsX86Runtime } task createStartScriptWinX64(type: CreateStartScripts) { configure commonStartScriptConfiguration classpath += project.configurations.windowsX64Runtime } task createStartScriptLinuxX86(type: CreateStartScripts) { configure commonStartScriptConfiguration classpath += project.configurations.linuxX86Runtime } task createStartScriptLinuxX64(type: CreateStartScripts) { configure commonStartScriptConfiguration classpath += project.configurations.linuxX64Runtime } def commonDistBinConfiguration = { into('lib') { from configurations.runtime from jar.archivePath } } task distBinWinX86(type: Zip, dependsOn: [jar, createStartScriptWinX86]) { description = 'Bundles the project as a JVM application with OS specific libs and script for Windows x86.' classifier = 'windows_x86' configure commonDistBinConfiguration into ('bin') { from createStartScriptWinX86.getWindowsScript() } into('lib') { from configurations.windowsX86Runtime } } task distBinWinX64(type: Zip, dependsOn: [jar, createStartScriptWinX64]) { description = 'Bundles the project as a JVM application with OS specific libs and script for Windows x64.' classifier = 'windows_x64' configure commonDistBinConfiguration into ('bin') { from createStartScriptWinX64.getWindowsScript() } into('lib') { from configurations.windowsX64Runtime } } task distBinLinuxX86(type: Tar, dependsOn: [jar, createStartScriptLinuxX86]) { description = 'Bundles the project as a JVM application with OS specific libs and script for Linux x86.' classifier = 'linux_x86' compression = Compression.GZIP configure commonDistBinConfiguration into ('bin') { from createStartScriptLinuxX86.getUnixScript() } into('lib') { from configurations.linuxX86Runtime } } task distBinLinuxX64(type: Tar, dependsOn: [jar, createStartScriptLinuxX64]) { description = 'Bundles the project as a JVM application with OS specific libs and script for Linux x64.' classifier = 'linux_x64' compression = Compression.GZIP configure commonDistBinConfiguration into ('bin') { from createStartScriptLinuxX64.getUnixScript() } into('lib') { from configurations.linuxX64Runtime } } task distAllBin(dependsOn: [distBinWinX86, distBinWinX64, distBinLinuxX86, distBinLinuxX64]) { description = 'Bundles the project as a JVM application with OS specific libs and scripts for all platforms.' }