Newer
Older
apply plugin: 'application'
apply plugin: 'eclipse'
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'
testCompile 'org.hamcrest:hamcrest-core:1.3'
testCompile 'org.hamcrest:hamcrest-library:1.3'
testCompile 'junit:junit:4.12'
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
}
// 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.'
}