node-scope
/
build.gradle
96 строк · 2.2 Кб
1plugins {
2id 'java'
3id 'org.springframework.boot' version '3.2.2'
4id 'io.spring.dependency-management' version '1.1.4'
5id 'org.siouan.frontend-jdk17' version '8.0.0'
6id 'jacoco'
7}
8
9ext {
10lombokVersion = '1.18.30'
11jacksonVersion = '2.15.3'
12}
13
14group = 'dev.gordeev'
15version = '0.0.1'
16
17java {
18sourceCompatibility = '17'
19}
20
21frontend {
22nodeVersion = '20.11.0'
23installScript = 'install'
24packageJsonDirectory= file("${projectDir}/src/ui")
25nodeInstallDirectory = file("${projectDir}/src/ui/node")
26assembleScript = 'run build'
27}
28
29
30tasks.register('copyReactApp', Copy) {
31from "${projectDir}/src/ui/build"
32into "${projectDir}/build/resources/main/public/."
33}
34
35bootJar.dependsOn(copyReactApp)
36bootJar {
37mainClass = 'dev.gordeev.backend.BackendApplication'
38}
39jar {
40enabled = false
41}
42
43configurations {
44compileOnly {
45extendsFrom annotationProcessor
46}
47}
48
49repositories {
50mavenCentral()
51maven{
52url 'https://maven.atlassian.com/3rdparty/'
53}
54}
55
56dependencies {
57implementation 'org.springframework.boot:spring-boot-starter-webflux'
58implementation 'org.springframework.boot:spring-boot-starter-validation'
59implementation 'org.springdoc:springdoc-openapi-starter-webflux-ui:2.3.0'
60
61implementation 'com.github.oshi:oshi-core:6.4.10'
62implementation 'org.slf4j:slf4j-api:2.0.9'
63implementation 'org.projectlombok:lombok:1.18.30'
64implementation "com.fasterxml.jackson.core:jackson-core:$jacksonVersion"
65implementation "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion"
66implementation "com.fasterxml.jackson.core:jackson-annotations:$jacksonVersion"
67
68developmentOnly 'org.springframework.boot:spring-boot-devtools'
69testImplementation 'org.springframework.boot:spring-boot-starter-test'
70
71compileOnly "org.projectlombok:lombok:$lombokVersion"
72annotationProcessor "org.projectlombok:lombok:$lombokVersion"
73testCompileOnly "org.projectlombok:lombok:$lombokVersion"
74testAnnotationProcessor "org.projectlombok:lombok:$lombokVersion"
75}
76
77tasks.named('test') {
78useJUnitPlatform()
79
80testLogging {
81events "passed"
82}
83}
84
85test {
86finalizedBy jacocoTestReport // report is always generated after tests run
87}
88
89jacocoTestReport {
90dependsOn test
91reports {
92xml.required = false
93html.required = false
94csv.required = true
95}
96}
97