-
Nils Christian Ehmke authoredNils Christian Ehmke authored
build.gradle 4.60 KiB
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.1-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'
testCompile 'org.hamcrest:hamcrest-core:1.3'
testCompile 'org.hamcrest:hamcrest-library:1.3'
testCompile 'junit:junit:4.12'
}
// Add the provided-scoped dependencies to the classpaths
sourceSets.main.compileClasspath += configurations.providedCompile
eclipse.classpath.plusConfigurations += [configurations.providedCompile]
apply plugin: 'pmd'
pmd {
ignoreFailures = true
// Clear the rule set first. Otherwise we would have a lot of additional rules in our rule set.
// ruleSets = []
}
apply plugin: 'checkstyle'
checkstyle {
ignoreFailures = true
showViolations = false
}
apply plugin: 'findbugs'
findbugs {
ignoreFailures = true
effort = "max"
reportLevel = "low"
}
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.'
}