-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.gradle
246 lines (221 loc) · 8.58 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
import org.gradle.internal.os.OperatingSystem;
import groovy.io.FileType
buildscript {
dependencies {
classpath group: 'de.dynamicfiles.projects.gradle.plugins', name: 'javafx-gradle-plugin', version: '8.8.2'
}
}
plugins {
// Apply the java plugin to add support for Java
id 'java'
id "edu.sc.seis.macAppBundle" version "2.2.2"
// Apply the application plugin to add support for building an application
id 'application'
}
apply plugin: 'java'
//apply plugin: "edu.sc.seis.macAppBundle"
// Define the main class for the application
mainClassName = 'App'
def versionNumber = '1.24.0'
sourceSets {
main {
java {
srcDirs = ['DataFileParser/src',
'DataProcessor/src',
'Fitter/src',
'ImageCorrelation/src',
'Libraries/src',
'ShotCaller/src',
'Viewer/src']
}
resources {
srcDirs = ['DataFileParser/src',
'DataProcessor/src',
'Fitter/src',
'ImageCorrelation/src',
'Libraries/src',
'ShotCaller/src',
'Viewer/src']
}
// add tests sources here (this project didn't have them!)
}
}
ext.update_version_info = {version_info->
File file = new File("$projectDir/DataProcessor/lib/surepulseversioninfo.txt")
file.write("version:"+version_info)
}
dependencies {
implementation 'org.jetbrains:annotations:20.1.0'
update_version_info(versionNumber)
// This dependency is found on compile classpath of this component and consumers.
compile (name:'gson-2.5', ext:"jar")
compile (name: 'gson-2.5-javadoc',ext:"jar")
compile (name: 'zip4j_1.3.2',ext:"jar")
compile (name: 'JGoogleAnalyticsTracker-1.2.0',ext:"jar")
compile (name: 'slf4j-api-1.6.1',ext:"jar")
compile (name: 'jna',ext:"jar")
compile (name: 'jscience',ext:"jar")
compile (name: 'dsp-collection',ext:"jar")
compile (name: 'commons-math3-3.5',ext:"jar")
compile (name: 'json-simple-1.1.1',ext:"jar")
compile (name: 'controlsfx-8.40.12',ext:"jar")
compile (name: 'BoofCV-io-0.19',ext:"jar")
compile (name: 'BoofCV-visualize-0.19',ext:"jar")
compile (name: 'BoofCV-feature-0.19',ext:"jar")
compile (name: 'BoofCV-sfm-0.19',ext:"jar")
compile (name: 'BoofCV-ip-0.19',ext:"jar")
compile (name: 'BoofCV-geo-0.19',ext:"jar")
compile (name: 'BoofCV-learning-0.19',ext:"jar")
compile (name: 'BoofCV-recognition-0.19',ext:"jar")
compile (name: 'BoofCV-jcodec-0.19',ext:"jar")
compile (name: 'BoofCV-xuggler-0.19',ext:"jar")
compile (name: 'BoofCV-calibration-0.19',ext:"jar")
compile (name: 'BoofCV-openkinect-0.19',ext:"jar")
compile (name: 'georegression-0.8',ext:"jar")
compile (name: 'equation-0.28',ext:"jar")
compile (name: 'core-0.28',ext:"jar")
compile (name: 'dense64-0.28',ext:"jar")
compile (name: 'simple-0.28',ext:"jar")
compile (name: 'ddogleg-0.7',ext:"jar")
compile(name: 'surepulseversioninfo',ext:'txt')
if (OperatingSystem.current().isWindows()) {
compile (name: 'ncorr_commandLine',ext:'exe')
compile (name: 'ffmpeg', ext:'exe')
compile (name: 'Newtonsoft.Json', ext:'dll')
compile (name: 'EPPlus', ext:'dll')
compile (name: 'ExcelMakerConsole',ext:"exe")
compile (name: 'libblas', ext:'dll')
compile (name: 'libfftw3-3',ext:'dll')
compile (name: 'libgcc_s_dw2-1',ext:'dll')
compile (name: 'libgcc_s_sjlj-1',ext:'dll')
compile (name: 'libgfortran-3',ext:'dll')
compile (name: 'liblapack',ext:'dll')
compile (name: 'libopenblas',ext:'dll')
compile (name: 'libquadmath-0',ext:'dll')
compile (name: 'mfc100',ext:'dll')
compile (name: 'msvcp100',ext:'dll')
compile (name: 'msvcp120',ext:'dll')
compile (name: 'msvcp140',ext:'dll')
compile (name: 'msvcr100',ext:'dll')
compile (name: 'msvcr100_clr0400',ext:'dll')
compile (name: 'msvcr120',ext:'dll')
compile (name: 'opencv_world331',ext:'dll')
compile (name: 'concrt140', ext:'dll')
compile (name: 'ucrtbase', ext:'dll')
compile (name: 'vccorlib140', ext:'dll')
compile (name: 'vcruntime140', ext:'dll')
}
// Use JUnit test framework
testCompile 'junit:junit:4.12'
compile 'junit:junit:4.12'
}
// In this section you declare where to find the dependencies of your project
repositories {
flatDir {
dirs 'DataProcessor/libs','DataProcessor/lib','ImageCorrelation/lib','ImageCorrelation/lib/boofcv-v0.19-libs'
}
mavenLocal()
mavenCentral()
}
task copyNcorrLibs(type:Copy){
}
task resourcesCopy() {
doFirst {
copy {
from "DataFileParser/src"
into "./build/src"
}
copy {
from "DataProcessor/src"
into "./build/src"
}
copy {
from "Fitter/src"
into "./build/src"
}
copy {
from "ImageCorrelation/src"
into "./build/src"
}
copy {
from "Libraries/src"
into "./build/src"
}
copy {
from "ShotCaller/src"
into "./build/src"
}
}
}
apply plugin: 'javafx-gradle-plugin'
jfx {
verbose = true
// minimal requirement for jfxJar-task
mainClass = 'net.relinc.processor.application.Main'
jfxAppOutputDir = "build/jfx/app"
jfxMainAppJarName = "SurePulse.jar"
deployDir = "resources/deploy"
useEnvironmentRelativeExecutables = true
libFolderName = "lib"
// gradle jfxJar
css2bin = false
preLoader = null // String
updateExistingJar = false
allPermissions = false
manifestAttributes = null // Map<String, String>
addPackagerJar = true
copyAdditionalAppResourcesToJar = false
skipCopyingDependencies = false
useLibFolderContentForManifestClasspath = false
fixedManifestClasspath = null
// gradle jfxNative
identifier = "SurePulse" // String - setting this for windows-bundlers makes it possible to generate upgradeable installers (using same GUID)
nativeOutputDir = "build/jfx/native"
bundler = "ALL" // set this to some specific, if your don't want all bundlers running, examples "windows.app", "jnlp", ...
jvmProperties = null // Map<String, String>
jvmArgs = null // List<String>
userJvmArgs = null // Map<String, String>
launcherArguments = null // List<String>
nativeReleaseVersion = versionNumber
needShortcut = false
needMenu = true
// w
// bundleArguments = [
// // dont bundle JRE (not recommended, but increases build-size/-speed)
// runtime:
// ]
appName = "SurePulse" // this is used for files below "src/main/deploy", e.g. "src/main/deploy/package/windows/project.ico"
additionalBundlerResources = null // path to some additional resources for the bundlers when creating application-bundle
additionalAppResources = null // path to some additional resources when creating application-bundle
fileAssociations = null // List<Map<String, Object>>
noBlobSigning = false // when using bundler "jnlp", you can choose to NOT use blob signing
customBundlers = null // List<String>
failOnError = false
onlyCustomBundlers = false
skipJNLP = false
skipNativeVersionNumberSanitizing = 1.14 // anything than numbers or dots are removed
additionalJarsignerParameters = null // List<String>
skipMainClassScanning = false // set to true might increase build-speed
skipNativeLauncherWorkaround124 = false
skipNativeLauncherWorkaround167 = false
skipNativeLauncherWorkaround205 = false
skipJNLPRessourcePathWorkaround182 = false
skipSigningJarFilesJNLP185 = false
skipSizeRecalculationForJNLP185 = false
skipMacBundlerWorkaround = false
// gradle jfxRun
runJavaParameter = null // String
runAppParameter = null // String
// per default the outcome of the gradle "jarTask" will be used, set this to specify otherwise (like proguard-output)
alternativePathToJarFile = null // String
// to disable patching of ant-javafx.jar, set this to false
usePatchedJFXAntLib = false
// making it able to support absolute paths, defaults to "false" for maintaining old behaviour
checkForAbsolutePaths = false
certDomain = "relinc.com" // required
certOrg = "REL"// required
certState = "MI" // required
certCountry = "USA" // required
// minimal requirement for jfxNative-task
vendor = 'REL Inc.'
}