-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.gradle
107 lines (90 loc) · 2.65 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
plugins {
id 'java'
id 'jacoco'
id 'maven-publish'
id 'com.enonic.defaults' version '2.1.5'
id 'com.enonic.xp.app' version '3.5.2'
id "com.github.node-gradle.node" version '7.1.0'
}
def xpVersion=version
app {
name = 'com.enonic.xp.app.main'
group = 'com.enonic.xp'
displayName = 'Enonic XP Home App'
systemVersion = "${xpVersion}"
systemApp = true
devSourcePaths += file( "$rootDir/../lib-admin-ui/src/main/resources" )
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
configurations {
devResources {
attributes {
attribute( LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objects.named( LibraryElements, 'dev-resources' ) )
}
}
all {
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}
}
repositories {
mavenLocal()
mavenCentral()
xp.enonicRepo('dev')
}
apply from: "$projectDir/gradle/env.gradle"
apply from: "$projectDir/gradle/node.gradle"
apply from: "$projectDir/gradle/lib-admin.gradle"
dependencies {
compileOnly "com.enonic.xp:admin-api:${xpVersion}"
include "com.enonic.xp:lib-admin:${xpVersion}"
include "com.enonic.xp:lib-portal:${xpVersion}"
include "com.enonic.xp:lib-auth:${xpVersion}"
include "com.enonic.xp:lib-i18n:${xpVersion}"
include "com.enonic.lib:lib-admin-ui:${libAdminUiVersion}"
devResources "com.enonic.lib:lib-admin-ui:${libAdminUiVersion}"
include "com.enonic.lib:lib-mustache:2.1.1"
include "com.enonic.lib:lib-asset:1.0.1"
testImplementation 'org.mockito:mockito-core:5.12.0'
testImplementation 'org.mockito:mockito-junit-jupiter:5.12.0'
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.2'
testImplementation( testFixtures( "com.enonic.xp:jaxrs-impl:${xpVersion}" ) )
}
tasks.register('lint', NpmTask ) {
group "verification"
dependsOn( 'npmInstall' )
args = ['run', 'lint']
outputs.upToDateWhen { false }
}
check.dependsOn lint
tasks.register('webpack', NpmTask) {
dependsOn( 'npmInstall' )
environment = ['NODE_ENV': nodeEnvironment()]
description = 'Build UI resources (ts, css, etc).'
args = ['run', 'build']
inputs.dir '.xp/dev'
inputs.dir 'src/main'
inputs.file 'webpack.config.js'
outputs.dir "$buildDir/build/resources/main/assets"
}
jar {
dependsOn += webpack
}
processResources {
exclude 'assets/**' // Excluded because webpack does it
}
test {
useJUnitPlatform()
systemProperty 'java.awt.headless', 'true'
jvmArgs '-XX:TieredStopAtLevel=1'
}
jacocoTestReport {
reports {
xml.required = true
html.required = true
}
}
check.dependsOn jacocoTestReport