-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathbuild.gradle
More file actions
122 lines (99 loc) · 3.34 KB
/
build.gradle
File metadata and controls
122 lines (99 loc) · 3.34 KB
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
plugins {
id 'java'
id 'com.mendix.gradle.publish-module-plugin' version '1.24'
id 'net.researchgate.release' version '2.8.1'
}
apply from: 'environment.gradle'
sourceCompatibility = '21'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
repositories {
maven {
url 'https://nexus.rnd.mendix.com/repository/maven-hosted/'
}
maven {
url 'https://nexus.rnd.mendix.com/repository/repo1-proxy/'
}
}
mxMarketplace {
appNumber = 66876
appName = "OQLModule"
moduleName = "OQL"
moduleLicense = "MIT"
filterWidgets = false
filterRequiredLibs = true
appDirectory = "."
includeFiles = List.of(licenseFile, CsvAsTableWidgetFile)
versionPathPrefix = "__Version " // the path prefix within the module to the version folder
}
dependencies {
implementation(fileTree(mxRuntimeBundles).include('*.jar'))
//MxCommons v11.1.0 module dependencies, not included with module release
implementation(
[group: 'com.google.guava', name: 'guava', version: '33.4.7-jre'],
[group: 'com.googlecode.owasp-java-html-sanitizer', name: 'owasp-java-html-sanitizer', version: '20211018.2'],
[group: 'commons-io', name: 'commons-io', version: '2.17.0'],
[group: 'org.apache.pdfbox', name: 'pdfbox', version: '2.0.30'],
[group: 'org.apache.commons', name: 'commons-lang3', version: '3.18.0'],
[group: 'org.apache.commons', name: 'commons-text', version: '1.10.0']
)
testImplementation('com.mendix.util:junit-helper:1.2.0') {
exclude group: 'com.mendix', module: 'public-api'
}
testImplementation(
[group: 'org.junit.jupiter', name: 'junit-jupiter', version: '5.8.2'],
[group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.8.2']
)
testRuntimeOnly('org.junit.jupiter:junit-jupiter-engine:5.8.2')
}
sourceSets {
main {
java {
srcDir 'javasource'
}
resources {
srcDirs = ['resources', 'build/generated/resources']
}
}
}
tasks.register('copyComponents', Copy) {
from file('deployment/run/component.xml')
into 'build/generated/resources/OSGI-INF/'
}
processResources {
dependsOn copyComponents
}
test {
useJUnitPlatform()
jvmArgs = ["-Djava.io.tmpdir=$temporaryDir"]
environment 'MX_INSTALL_PATH',mxInstallPath
}
clean {
delete 'userlib', 'deployment', 'vendorlib'
}
release {
tagTemplate = '$name-$version'
}
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:deprecation"
}
tasks.register('cleanTest') {
dependsOn clean
dependsOn copyJarsToUserlib
dependsOn mxBuild
dependsOn test
copyJarsToUserlib.mustRunAfter clean
mxBuild.mustRunAfter copyJarsToUserlib
test.mustRunAfter mxBuild
}
tasks.register('addOSSClearance', com.mendix.gradle.publish_module.AddFilesToMpkTask) {
includeFiles = files(ossClearanceFile)
inputMpkFile = file("${mxMarketplace.moduleName}_${version}.mpk")
}
publishModuleToMarketplace {
dependsOn addOSSClearance
addOSSClearance.mustRunAfter addFilesToMpk
}
exportModule {
dependsOn cleanTest
}
afterReleaseBuild.dependsOn publishModuleToMarketplace