-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
77 lines (61 loc) · 2.97 KB
/
Copy pathbuild.gradle
File metadata and controls
77 lines (61 loc) · 2.97 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
plugins {
id 'java'
id 'org.springframework.boot' version '3.5.8'
id 'io.spring.dependency-management' version '1.1.7'
id "com.diffplug.eclipse.apt" version "4.3.0" // Mapstruct - only for Eclipse
}
group = 'se.autocorrect'
version = '0.2.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter' // The regular starter
implementation 'org.springframework.boot:spring-boot-starter-hateoas' // Adding HATEOAS/REST
implementation 'org.springframework.boot:spring-boot-starter-aop' // Adding Aspects to the picture
implementation 'org.springframework.boot:spring-boot-starter-graphql' // Adding GraphQL capabilities
implementation 'org.apache.jena:apache-jena-libs:5.3.0' // The regular lib for RDF
implementation 'org.apache.jena:jena-querybuilder:5.3.0' // The Query builders for RDF
implementation 'org.apache.jena:jena-fuseki-main:5.3.0' // The main lib for Fuseki (SPARQL endpoint)
// Spring Boot is opinionated in several ways, whereas one is delivering only JSON out-of-the-box by default
// This dependecy added for support of XML ...
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.18.3'
implementation 'org.mapstruct:mapstruct:1.6.3' // The mapper between different structures
implementation 'com.google.guava:guava:33.4.0-jre' // Some common and useful utilities
annotationProcessor 'org.mapstruct:mapstruct-processor:1.6.3' // The Mapstruct annotation processor
testImplementation 'org.springframework.boot:spring-boot-starter-test' // Test capabilties for Spring Boot
//testImplementation 'org.junit.jupiter:junit-jupiter'
//testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
testAnnotationProcessor 'org.mapstruct:mapstruct-processor:1.6.3' // Mapstruct annotation process for test code
testImplementation(platform("org.junit:junit-bom:6.0.1"))
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
implementation 'net.bytebuddy:byte-buddy:1.18.1' // Get Mockito working with Java 25
}
task fatJar(type: Jar) {
manifest {
attributes 'Main-Class': 'se.autocorrect.springexample.SpringExampleMagicApplication'
}
archiveBaseName = project.name + '-all'
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
test {
jvmArgs "-Dnet.bytebuddy.experimental=true", "-XX:+EnableDynamicAgentLoading"
useJUnitPlatform()
}
tasks.withType(JavaCompile) {
options.compilerArgs = ['-parameters', '--enable-preview']
doFirst {
println "Compiler args: ${options.compilerArgs}"
}
}
compileJava {
options.compilerArgs += [
'-Amapstruct.suppressGeneratorTimestamp=true',
'-Amapstruct.suppressGeneratorVersionInfoComment=true',
'-Amapstruct.verbose=true',
'-Amapstruct.defaultComponentModel=spring'
]
}