-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.gradle
153 lines (134 loc) · 4.99 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
buildscript {
repositories {
jcenter()
maven { url 'https://maven.rapidminer.com/content/groups/public/' }
}
}
plugins {
id 'com.rapidminer.extension' version '0.9.3'
id 'war'
}
// Define Maven artifact repositories
repositories {
jcenter()
maven { url 'https://maven.rapidminer.com/content/groups/public/' }
}
//List of properties with default values. In case of any changes please use the user.properties file and setupt new values.
//If new properties are needed please add them to the map
def propertyMap = [
'paths.extension' : '\\.RapidMiner\\extensions\\',
'paths.homeDir' : Paths.get(System.getProperty('user.home')),
'paths.homeDirDebug' : Paths.get(System.getProperty('user.home')),
'paths.RapidMiner': 'C:/Program Files/RapidMiner/RapidMiner Studio',
'rapidminerVer' : '9.7.1'
];
import java.nio.file.Paths
//Updateing parameters according to prop-file
Properties props = new Properties()
def propFile = file('user.properties')
if (propFile.canRead()) { //If file accessable
props.load(new FileInputStream(propFile))
println 'Updating properties'
if (props != null) { //If any properties are avaliable
propertyMap.each { k, v ->
println '--> Check: ' + k
if (props[k]!= null && !props[k].toString().isEmpty()) {
propertyMap[k] = props[k]
}
println '---> Current value:' + (propertyMap[k])
}
}
}
extensionConfig {
// The extension name
name = 'Information Selection'
//The namespace
namespace = 'prules'
//Version id
version = '8.1.0'
/*
* The artifact group which will be used when publishing the extensions Jar
* and for package customization when initializing the project repository.
*
*/
groupId = 'org.prules'
/*
* The extension vendor which will be displayed in the extensions about box
* and for customizing the license headers when initializing the project repository.
*
*/
vendor = "Silesian University of Technology, Marcin Blachnik"
/*
* The vendor homepage which will be displayed in the extensions about box
* and for customizing the license headers when initializing the project repository.
*
*/
homepage = "www.prules.org"
// define RapidMiner version and extension dependencies
dependencies {
rapidminer propertyMap['rapidminerVer']
//extension namespace: 'text', version: '8.1.0'
}
}
// Third party library dependencies
dependencies {
// https://mvnrepository.com/artifact/com.github.haifengl/smile-core
compile group: 'com.github.haifengl', name: 'smile-core', version: '1.5.3'
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.9'
compile 'com.google.guava:guava:28.0-jre'
//Java 9+ libraries
compile group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
compile group: 'org.openjfx', name: 'javafx-base', version: '13'
compile group: 'javax.xml.ws', name: 'jaxws-api', version: '2.3.1'
//======= INFOSEL++ ========
compile files('lib/Infosel.jar')
//======= Weka Instance Selection =======
//compile files('lib/rapidminer-Weka-5.3.002.jar')
compile files('lib/rmx_weka-ANY-7.3.0.jar')
//compile files('lib/weka.jar')
compile files('lib/instanceselection.jar')
//======= KEEL =========
compile files('lib/IS-CCIS.jar')
compile files('lib/IS-HMNEI.jar')
//======= Mutual Information =========
compile files('lib/JavaMI.jar')
//======= MDS Scalling ========= to remove, incopatible license
compile files('lib/mdsj.jar')
providedCompile group: 'org.projectlombok', name: 'lombok', version: '1.18.10'
runtime fileTree(dir: (propertyMap['paths.RapidMiner'] + '/lib/'), include: '*.*')
}
/**
* turn on ZIP64 to support more then 65k files
*/
shadowJar {
zip64 true
}
task copyPluginDebug(type: Copy, dependsOn: jar) {
description 'Copy jar file into RapidMiner extensions folder'
from jar
into propertyMap['paths.homeDirDebug'] + propertyMap['paths.extension']
}
task copyPlugin(type: Copy, dependsOn: installExtension) {
description 'Copy jar file into RapidMiner extensions folder'
from jar
into "c:/users/marcin/.RapidMiner/extensions/"
from jar
into propertyMap['paths.homeDirDebug'] + propertyMap['paths.extension']
}
task run(type: JavaExec, dependsOn: copyPlugin) {
description 'Executes RapidMiner'
main = 'com.rapidminer.launcher.GUILauncher'
classpath = configurations.runtime
jvmArgs = ["-Duser.home="+ (propertyMap['paths.homeDir']).toString()]
}
task debug(type: JavaExec, dependsOn: copyPluginDebug) {
description 'Executes RapidMiner in debug mode'
main = 'com.rapidminer.launcher.GUILauncher'
classpath = configurations.runtime
jvmArgs = ["-Duser.home="+(propertyMap['paths.homeDirDebug']).toString()]
//debug true
}
task wrapperInit(type: Wrapper) {
gradleVersion = '4.8.1'
description 'Sets correct versions of gradle for project'
}