Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development: Upgrade to Spring Boot 3, Spring 6, Hibernate 6 #7719

Merged
merged 182 commits into from
Mar 27, 2024
Merged
Show file tree
Hide file tree
Changes from 177 commits
Commits
Show all changes
182 commits
Select commit Hold shift + click to select a range
dfd0ef8
update all dependencies to latest version
Oct 8, 2023
530c614
Merge branch 'develop' into chore/spring-boot-3.x
Oct 27, 2023
e09487f
fix compile issues after upgrade
Oct 27, 2023
6fa4153
Merge branch 'develop' into chore/spring-boot-3.x
Oct 28, 2023
d772f14
fix compile errors in tests (WIP)
Oct 28, 2023
6a3e2f7
fix deprecations
julian-christl Oct 29, 2023
03d2be1
revert java version upgrade
julian-christl Oct 30, 2023
cdcdfb0
add duplication strategy
julian-christl Oct 30, 2023
5ac6c83
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Oct 30, 2023
666ef03
fix build errors
julian-christl Oct 30, 2023
ebaa97b
fix dialect
julian-christl Oct 30, 2023
2254b16
fixed jpql queries
julian-christl Oct 30, 2023
3471327
fix JPQL queries
julian-christl Nov 3, 2023
559d358
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Nov 3, 2023
eb0eb06
fix SecurityConfiguration
julian-christl Nov 3, 2023
25126e1
fix configurations
julian-christl Nov 3, 2023
e346c2e
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Nov 3, 2023
3000faa
fix configurations
julian-christl Nov 3, 2023
1228bdc
upgrade hibernate
julian-christl Nov 4, 2023
3ade8b0
generalise authentication
julian-christl Nov 4, 2023
a831089
fix client paths
julian-christl Nov 4, 2023
d57ecd4
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Nov 30, 2023
6b2bcf8
remove unnecessary annotations
julian-christl Nov 30, 2023
f684f2c
change some versions, fix some issues
julian-christl Nov 30, 2023
da9743d
fix lti javax issues
julian-christl Nov 30, 2023
650ab4e
bump run configuration
julian-christl Dec 1, 2023
d8ef0a5
fix nulling annotations
julian-christl Dec 1, 2023
934226b
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Dec 2, 2023
e1f2d00
replace competency query with specification
julian-christl Dec 2, 2023
ae06982
fix filter
julian-christl Dec 2, 2023
acc84d0
fix some test rest paths
julian-christl Dec 2, 2023
11ba29c
fix specification casting
julian-christl Dec 2, 2023
050aa99
fix OnlineCourseConfigurationServiceTest
julian-christl Dec 2, 2023
4dcd676
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Dec 4, 2023
f77df0a
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Dec 10, 2023
ae0dcce
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Dec 10, 2023
f93a8c3
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Dec 18, 2023
16a49bf
temporarily disable parallel tests
b-fein Dec 18, 2023
173fb27
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Dec 26, 2023
e9f8f91
Merge branch 'develop' into chore/spring-boot-3.x
krusche Jan 2, 2024
70fbeaa
improve jgit code
Jan 3, 2024
60e87bd
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Jan 14, 2024
1435020
fix merge issues
julian-christl Jan 14, 2024
4a2b2ff
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Jan 18, 2024
ba63aa6
fix merge issues
julian-christl Jan 18, 2024
c5816ae
replace lti13 library with newest version
Jan 19, 2024
4751177
fix attachment unit query
julian-christl Jan 19, 2024
bfa0ae7
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Jan 23, 2024
c87a219
Revert "temporarily disable parallel tests"
julian-christl Jan 25, 2024
fbe6939
[extract] fix learning path complex conditional query
julian-christl Jan 25, 2024
4912cc3
fix javax nullable etc imports
julian-christl Jan 25, 2024
deddab5
[extract] replace entity graphs on queries, add arch test
julian-christl Jan 25, 2024
535d1b7
[extract] fix queries
julian-christl Jan 25, 2024
2da7576
[extract] fix fetch
julian-christl Jan 26, 2024
1c9329b
[extract] replace entity graph with query
julian-christl Jan 26, 2024
807a92e
[extract] improve query
julian-christl Jan 26, 2024
eeac359
[extract] add more nodes
julian-christl Jan 26, 2024
464bed8
bump versions
julian-christl Jan 26, 2024
6111d13
bump versions
julian-christl Jan 26, 2024
2e2d659
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Jan 26, 2024
149d098
[extract] fix custom learning path repo
julian-christl Jan 26, 2024
4a8e5c3
[extract] fix jpql truthy syntax
julian-christl Jan 26, 2024
f36ef0d
[extract] remove trailing slash from test rest urls
julian-christl Jan 26, 2024
b7c8343
[extract] remove more trailing slashes
julian-christl Jan 26, 2024
adfd3a1
[extract] fix attachmentUnit order query
julian-christl Jan 27, 2024
6152fa9
[extract] fix message specs criteria
julian-christl Jan 27, 2024
f6755c5
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Feb 18, 2024
cd7c8d1
fix merged sql
julian-christl Feb 18, 2024
3102a0c
[extract] revert custom learning path query and add filter
julian-christl Feb 18, 2024
e046148
[extract] replace competency query with standard query and filter
julian-christl Feb 18, 2024
9680021
[extract] fix arch tests after merge
julian-christl Feb 18, 2024
76ccddf
fix prettier
julian-christl Feb 18, 2024
0c6d5e5
fix test and test startup
julian-christl Feb 18, 2024
cc8e2bb
remove fetch for eager loaded relations
julian-christl Feb 23, 2024
b3934e2
use spring transactional instead of javax
julian-christl Feb 23, 2024
70fcad6
fix architecture tests
julian-christl Feb 23, 2024
fcd81c0
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Feb 23, 2024
f9c1f84
revert dependency change
julian-christl Feb 23, 2024
895a631
improve test performance
julian-christl Feb 23, 2024
200d33a
fix notification queries
julian-christl Feb 23, 2024
2c84eb9
fix iris tests
julian-christl Feb 23, 2024
df194d2
fix occurrences for new zalando parameter handling
julian-christl Feb 24, 2024
0831b70
fix tutorial group test paths
julian-christl Feb 24, 2024
c6c213a
fix NotificationSettingsResourceIntegrationTest
julian-christl Feb 24, 2024
f15c3ce
Revert "fix occurrences for new zalando parameter handling"
julian-christl Feb 24, 2024
e99141e
update jgit http server
julian-christl Feb 29, 2024
93927d8
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Feb 29, 2024
b03d2fd
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 1, 2024
2d5293e
remove extracted lti 1.0 classes
julian-christl Mar 1, 2024
624cd30
fix arch tests
julian-christl Mar 1, 2024
087f20d
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 1, 2024
c37b271
fix iris queries
julian-christl Mar 1, 2024
506de43
Merge branch 'develop' into chore/spring-boot-3.x
Strohgelaender Mar 2, 2024
e26daa7
fix build log stats tests
julian-christl Mar 2, 2024
da6ea81
fix null condition
julian-christl Mar 2, 2024
7005a65
exclude git from authentication
julian-christl Mar 2, 2024
e740dc4
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 2, 2024
a7c3931
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 6, 2024
041496d
fix response type
julian-christl Mar 6, 2024
6772406
fix client forwarding
julian-christl Mar 6, 2024
bf51a83
fix security config
julian-christl Mar 6, 2024
ba97bf5
fix deprecated config
julian-christl Mar 6, 2024
1c7a73c
fix postgresql dialect
julian-christl Mar 6, 2024
f0c1534
bump dependencies
julian-christl Mar 6, 2024
83b8084
fix push notification repo methods
julian-christl Mar 6, 2024
7481c68
fix mock verification
julian-christl Mar 6, 2024
18d7313
fix test request urls
julian-christl Mar 6, 2024
fa177b5
fix PlagiarismCaseIntegrationTest
julian-christl Mar 6, 2024
958a86e
fix TextAssessmentIntegrationTest
julian-christl Mar 6, 2024
eef6311
fix ExamIntegrationTest
julian-christl Mar 6, 2024
233122c
fix iris message creation
julian-christl Mar 6, 2024
83f4db3
fix more iris tests
julian-christl Mar 6, 2024
2eae5b0
fix several tests
julian-christl Mar 6, 2024
b99e13a
fix gradle variable
julian-christl Mar 7, 2024
d51c4d0
set project type to ordinal enumerated
julian-christl Mar 7, 2024
5c99ec4
update project type database type
julian-christl Mar 7, 2024
7a39cdb
fix and improve cypress URLs
julian-christl Mar 8, 2024
bda5818
update http dependencies
julian-christl Mar 8, 2024
3248e38
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 8, 2024
aedd2a7
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 9, 2024
739df8a
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 10, 2024
b17e840
fix test urls
julian-christl Mar 10, 2024
7eb914a
Merge remote-tracking branch 'origin/develop' into chore/spring-boot-3.x
b-fein Mar 13, 2024
42f536b
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 14, 2024
2a0de13
add annotation aliases
julian-christl Mar 14, 2024
5863e87
remove unused courseId filter for user GET
julian-christl Mar 14, 2024
cd3e10d
fix user test
julian-christl Mar 14, 2024
e4ec284
remove unused test code
julian-christl Mar 15, 2024
801b0d8
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 15, 2024
42d8318
additional small server dependency updates
Mar 17, 2024
aa7d8b0
fix spring cloud hazelcast issues
Mar 17, 2024
ac8d0ed
fix warnings by using newer spring cloud commons version
Mar 17, 2024
1522540
update more server dependencies
Mar 17, 2024
47e8ff1
add debug for prometheus ip addresses
julian-christl Mar 17, 2024
691fa42
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 17, 2024
f8f0ca7
revert org.json upgrade
julian-christl Mar 17, 2024
76cec92
revert all dependency upgrades
julian-christl Mar 17, 2024
41b22e8
SecurityConfiguration: Allow access to webapp files and management.in…
pzdr7 Mar 18, 2024
21bf873
Refactor (replace constructors with static method)
pzdr7 Mar 18, 2024
afb0efc
Simplify and rearrange security configuration
pzdr7 Mar 18, 2024
bf1cb73
add missing profile to new config
Mar 19, 2024
267edf7
remove SpaWebFilter.java and tests
julian-christl Mar 19, 2024
b4e3d3d
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 19, 2024
c345bf2
remove mysql8 dialect reference
julian-christl Mar 19, 2024
41d1045
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 20, 2024
982d735
Revert "remove SpaWebFilter.java and tests"
julian-christl Mar 20, 2024
1a472fd
Fix merge conflicts
julian-christl Mar 20, 2024
36e5e0a
`Development`: Fix error response parameters handling and remove unne…
coolchock Mar 20, 2024
02a778f
remove outdated test
julian-christl Mar 20, 2024
a10eec0
fix tutorial group tests
julian-christl Mar 20, 2024
6643512
Handle NoResourceFoundExceptions; return 404
pzdr7 Mar 20, 2024
731cf4a
add missing jgit resource
julian-christl Mar 20, 2024
45bbe58
exclude jgit repo from test coverage
julian-christl Mar 20, 2024
a297fbe
bump missed class count
julian-christl Mar 20, 2024
97d96ec
Merge branch 'develop' into chore/spring-boot-3.x
pzdr7 Mar 20, 2024
29390c7
Fix build error
pzdr7 Mar 20, 2024
17edacf
Merge branch 'develop' into chore/spring-boot-3.x
pzdr7 Mar 22, 2024
c8c7dc1
Hack: Provide RestTemplate beans to Eureka; Remove additional Jersey …
pzdr7 Mar 22, 2024
df5c85b
Adjust security config; permit access to web worker jsons
pzdr7 Mar 22, 2024
73168c6
Limit fetch depth to 3 to prevent large queries
pzdr7 Mar 23, 2024
aae9e45
primarily use authorization code grant type
julian-christl Mar 24, 2024
262fe15
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 24, 2024
884f34f
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 24, 2024
e7da041
Merge branch 'develop' into chore/spring-boot-3.x
julian-christl Mar 24, 2024
0c7bdf1
add distinct to retrieve relation
julian-christl Mar 25, 2024
97b9e19
revert ip log for prometheus access
julian-christl Mar 25, 2024
b5d411a
tryfix communication query
julian-christl Mar 25, 2024
cdd13c9
revert broken simplification
julian-christl Mar 26, 2024
f98c035
revert broken simplification
julian-christl Mar 26, 2024
a390969
fix query
julian-christl Mar 26, 2024
fc09d94
Reduce max_fetch_depth to 2
pzdr7 Mar 26, 2024
8f521cb
Merge branch 'develop' into chore/spring-boot-3.x
pzdr7 Mar 26, 2024
8561ba3
readd ability to filter users without user groups
julian-christl Mar 26, 2024
0b67fc2
revert faulty saml2 paths
julian-christl Mar 26, 2024
fb72c6d
remove not needed variable
julian-christl Mar 26, 2024
6073acc
add info to excluded dependency
julian-christl Mar 26, 2024
9199e70
silence style check
bassner Mar 26, 2024
a655560
fix code style
Mar 27, 2024
c3d1922
add missing java doc
Mar 27, 2024
13c08e7
update dependencies
Mar 27, 2024
73920e4
Merge branch 'develop' into chore/spring-boot-3.x
Mar 27, 2024
c525f40
add JavaDoc and other code improvements
Mar 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 5 additions & 4 deletions artemis-spotless.importorder
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
#Organize Import Order
#Thu Mar 28 17:21:31 CET 2019
0=java
1=javax
2=org
3=com
4=
1=jakarta
2=javax
3=org
4=com
5=
88 changes: 49 additions & 39 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ plugins {
id "jacoco"
id "org.springframework.boot" version "${spring_boot_version}"
id "io.spring.dependency-management" version "1.1.4"
id "com.google.cloud.tools.jib" version "3.4.0"
id "com.google.cloud.tools.jib" version "3.4.1"
id "com.github.node-gradle.node" version "${gradle_node_plugin_version}"
id "com.diffplug.spotless" version "6.25.0"
// this allows us to find outdated dependencies via ./gradlew dependencyUpdates
id "com.github.ben-manes.versions" version "0.51.0"
id "com.github.andygoossens.modernizer" version "${modernizer_plugin_version}"
id "com.gorylenko.gradle-git-properties" version "2.4.1"
id "org.owasp.dependencycheck" version "9.0.9"
id "org.owasp.dependencycheck" version "9.0.10"
id "com.adarshr.test-logger" version "4.0.0"
}

Expand Down Expand Up @@ -74,7 +74,8 @@ spotless {
"**/src/main/generated/**",
"**/src/main/resources/templates/**",
"/docker/**",
"checked-out-repos/**"
"checked-out-repos/**",
"**/src/main/java/org/eclipse/**"
)
}
}
Expand Down Expand Up @@ -139,6 +140,7 @@ private excludedClassFilesForReport(classDirectories) {
exclude: [
"**/de/tum/in/www1/artemis/domain/**/*_*",
"**/de/tum/in/www1/artemis/config/migration/entries/**",
"**/org/eclipse/jgit/**",
"**/gradle-wrapper.jar/**"
]
)
Expand Down Expand Up @@ -167,7 +169,7 @@ jacocoTestCoverageVerification {
counter = "CLASS"
value = "MISSEDCOUNT"
// TODO: in the future the following value should become less than 10
maximum = 19
maximum = 20
}
}
}
Expand Down Expand Up @@ -202,8 +204,8 @@ dependencies {
// implementation "com.offbytwo.jenkins:jenkins-client:0.3.8"
implementation files("libs/jenkins-client-0.4.0.jar")
// The following 4 dependencies are explicitly integrated as transitive dependencies of jenkins-client-0.4.0.jar
implementation "org.apache.httpcomponents:httpclient:4.5.14"
implementation "org.apache.httpcomponents:httpcore:4.4.16"
implementation "org.apache.httpcomponents.client5:httpclient5:5.3.1"
implementation "org.apache.httpcomponents.core5:httpcore5:5.2.4"
implementation "org.apache.httpcomponents:httpmime:4.5.14"
implementation ("org.dom4j:dom4j:2.1.4") {
// Note: avoid org.xml.sax.SAXNotRecognizedException: unrecognized feature http://xml.org/sax/features/external-general-entities
Expand All @@ -216,8 +218,7 @@ dependencies {
exclude module: "jaxb-api"
}


implementation "org.gitlab4j:gitlab4j-api:5.5.0"
implementation "org.gitlab4j:gitlab4j-api:6.0.0-rc.4"

implementation "de.jplag:jplag:${jplag_version}"
implementation "de.jplag:java:${jplag_version}"
Expand All @@ -237,16 +238,21 @@ dependencies {
}
}

implementation "org.apache.logging.log4j:log4j-to-slf4j:2.22.1"
implementation "org.apache.logging.log4j:log4j-to-slf4j:2.23.1"

// NOTE: 0.1.12 is using jakarta instead of javax
implementation "uk.ac.ox.ctl:spring-security-lti13:0.1.11"
// Note: spring-security-lti13 does not work with jakarta yet, so we built our own custom version and declare its transitive dependencies below
// implementation "uk.ac.ox.ctl:spring-security-lti13:0.1.11"
implementation files("libs/spring-security-lti13-0.1.12.jar")

// https://search.maven.org/artifact/org.eclipse.jgit/org.eclipse.jgit
implementation "org.eclipse.jgit:org.eclipse.jgit:${jgit_version}"
implementation "org.eclipse.jgit:org.eclipse.jgit.ssh.apache:${jgit_version}"
implementation "org.eclipse.jgit:org.eclipse.jgit.http.server:${jgit_version}"
// Note: jgit.htt.server is not compatible with jakarta yet and neither is there a timeline. Hence, we had to add the sourcefiles to our repository. Once the compatibility is given, we can switch back to the maven dependency.
// implementation "org.eclipse.jgit:org.eclipse.jgit.http.server:${jgit_version}"

// https://mvnrepository.com/artifact/net.sourceforge.plantuml/plantuml
implementation "oauth.signpost:signpost-core:2.1.1"
implementation "oauth.signpost:signpost-commonshttp4:2.1.1"
implementation "net.sourceforge.plantuml:plantuml:1.2024.2"
implementation "org.jasypt:jasypt:1.9.3"
implementation "me.xdrop:fuzzywuzzy:1.4.0"
Expand All @@ -259,7 +265,7 @@ dependencies {

implementation "com.thoughtworks.qdox:qdox:2.1.0"
implementation "io.sentry:sentry-logback:${sentry_version}"
implementation "io.sentry:sentry-spring-boot-starter:${sentry_version}"
implementation "io.sentry:sentry-spring-boot-starter-jakarta:${sentry_version}"

// NOTE: the following six dependencies use the newer versions explicitly to avoid other dependencies to use older versions
implementation "ch.qos.logback:logback-classic:${logback_version}"
Expand All @@ -275,7 +281,7 @@ dependencies {
implementation "org.jsoup:jsoup:1.17.2"
implementation "commons-codec:commons-codec:1.16.1" // needed for spring security saml2

implementation "org.springdoc:springdoc-openapi-ui:1.7.0"
implementation "org.springdoc:springdoc-openapi-ui:1.8.0"
implementation "com.vdurmont:semver4j:3.1.0"

implementation "com.github.docker-java:docker-java-core:${docker_java_version}"
Expand All @@ -286,26 +292,24 @@ dependencies {

implementation "tech.jhipster:jhipster-framework:${jhipster_dependencies_version}"
implementation "org.springframework.boot:spring-boot-starter-cache:${spring_boot_version}"
implementation "io.micrometer:micrometer-registry-prometheus:1.12.3"
implementation "io.micrometer:micrometer-registry-prometheus:1.12.4"
implementation "net.logstash.logback:logstash-logback-encoder:7.4"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-hppc:${fasterxml_version}"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${fasterxml_version}"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-hibernate5:${fasterxml_version}"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-hibernate6:${fasterxml_version}"
implementation "com.fasterxml.jackson.core:jackson-annotations:${fasterxml_version}"
implementation "com.fasterxml.jackson.core:jackson-databind:${fasterxml_version}"
implementation "com.hazelcast:hazelcast:${hazelcast_version}"
implementation "com.hazelcast:hazelcast-spring:${hazelcast_version}"
implementation "com.hazelcast:hazelcast-hibernate53:5.1.0"
implementation "javax.cache:cache-api:1.1.1"
implementation "org.hibernate:hibernate-core:${hibernate_version}"
implementation "org.hibernate.orm:hibernate-core:${hibernate_version}"
implementation "com.zaxxer:HikariCP:5.1.0"
// TODO: for some reason 1.11.0 breaks some tests (e.g. shouldSaveBuildLogsOnStudentParticipationWithoutSubmissionNorResult)
implementation "org.apache.commons:commons-text:1.10.0"
implementation "org.apache.commons:commons-math3:3.6.1"
implementation "javax.transaction:javax.transaction-api:1.3"
implementation "org.hibernate:hibernate-entitymanager:${hibernate_version}"
// TODO: we cannot upgrade because 4.24.0 would not work with H2 in the tests due to the reserved keyword "groups", see https://github.com/liquibase/liquibase/pull/4052
implementation "org.liquibase:liquibase-core:4.23.2"
implementation "org.liquibase:liquibase-core:${liquibase_version}"
implementation "org.springframework.boot:spring-boot-starter-validation:${spring_boot_version}"
implementation "org.springframework.boot:spring-boot-loader-tools:${spring_boot_version}"
implementation "org.springframework.boot:spring-boot-starter-mail:${spring_boot_version}"
Expand All @@ -320,22 +324,26 @@ dependencies {
implementation "org.springframework.boot:spring-boot-starter-tomcat:${spring_boot_version}"
implementation "org.springframework.boot:spring-boot-starter-websocket:${spring_boot_version}"
implementation "org.springframework.boot:spring-boot-starter-thymeleaf:${spring_boot_version}"
implementation "org.springframework.boot:spring-boot-starter-oauth2-resource-server:${spring_boot_version}"
implementation "org.springframework.boot:spring-boot-starter-oauth2-client:${spring_boot_version}"

implementation "org.springframework.ldap:spring-ldap-core:2.4.1"
implementation "org.springframework.data:spring-data-ldap:2.7.17"
implementation "org.springframework.ldap:spring-ldap-core:3.2.2"
implementation "org.springframework.data:spring-data-ldap:3.2.4"

implementation ("org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:3.1.8") {
implementation ("org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:4.1.0") {
// NOTE: these modules contain security vulnerabilities and are not needed
exclude module: "commons-jxpath"
exclude module: "woodstox-core"
}
implementation "org.springframework.cloud:spring-cloud-starter:3.1.8"
implementation "org.springframework.cloud:spring-cloud-starter-config:3.1.9"
implementation "org.springframework.cloud:spring-cloud-starter-config:4.1.0"
implementation "org.springframework.boot:spring-boot-starter-cloud-connectors:2.2.13.RELEASE"

implementation "org.springframework.cloud:spring-cloud-commons:4.1.1"

// TODO: updating to a later version breaks the build
implementation "io.netty:netty-all:4.1.101.Final"
implementation "io.projectreactor.netty:reactor-netty:1.1.15"
implementation "org.springframework:spring-messaging:5.3.31"
implementation "io.projectreactor.netty:reactor-netty:1.1.17"
implementation "org.springframework:spring-messaging:6.1.5"
implementation "org.springframework.retry:spring-retry:2.0.5"

implementation "org.springframework.security:spring-security-config:${spring_security_version}"
Expand Down Expand Up @@ -368,30 +376,30 @@ dependencies {
}
implementation "io.springfox:springfox-bean-validators:3.0.0"
implementation "com.mysql:mysql-connector-j:8.3.0"
implementation "org.postgresql:postgresql:42.7.1"
implementation "org.postgresql:postgresql:42.7.3"
implementation "com.h2database:h2:2.2.224"

// zalando problem spring web can only be updated when we support Spring 6
implementation "org.zalando:problem-spring-web:0.27.0"
implementation "org.zalando:problem-spring-web:0.29.1"
implementation "org.zalando:jackson-datatype-problem:0.27.1"
implementation "com.ibm.icu:icu4j:74.2"
implementation "com.github.seancfoley:ipaddress:5.4.2"
implementation "com.github.seancfoley:ipaddress:5.5.0"
implementation "org.apache.maven:maven-model:3.9.6"
implementation "org.apache.pdfbox:pdfbox:3.0.1"
implementation "com.google.protobuf:protobuf-java:3.25.3"
implementation "org.apache.pdfbox:pdfbox:3.0.2"
implementation "com.google.protobuf:protobuf-java:4.26.0"
implementation "org.apache.commons:commons-csv:1.10.0"
implementation "org.commonmark:commonmark:0.21.0"
implementation "org.commonmark:commonmark:0.22.0"
implementation "commons-fileupload:commons-fileupload:1.5"
implementation "net.lingala.zip4j:zip4j:2.11.5"
implementation "org.jgrapht:jgrapht-core:1.5.2"
// make sure the dependencies use the latest version without security vulnerabilities
implementation "com.google.guava:guava:33.0.0-jre"
implementation "com.google.guava:guava:33.1.0-jre"

// make sure the dependencies use the latest version
implementation "com.google.code.gson:gson:2.10.1"

annotationProcessor "org.hibernate:hibernate-jpamodelgen:${hibernate_version}"
annotationProcessor ("org.glassfish.jaxb:jaxb-runtime:${jaxb_runtime_version}") {
exclude group: "javax.ws.rs", module: "jsr311-api"
exclude group: "jakarta.ws.rs", module: "jsr311-api"
}
annotationProcessor ("org.springframework.boot:spring-boot-configuration-processor:${spring_boot_version}") {
exclude group: "com.vaadin.external.google", module: "android-json"
Expand All @@ -409,8 +417,8 @@ dependencies {
testImplementation "org.assertj:assertj-core:3.25.3"
testImplementation "org.mockito:mockito-core:${mockito_version}"
testImplementation "org.mockito:mockito-junit-jupiter:${mockito_version}"
testImplementation "io.github.classgraph:classgraph:4.8.165"
testImplementation "org.awaitility:awaitility:4.2.0"
testImplementation "io.github.classgraph:classgraph:4.8.168"
testImplementation "org.awaitility:awaitility:4.2.1"
testImplementation "org.apache.maven.shared:maven-invoker:3.2.0"
testImplementation "org.gradle:gradle-tooling-api:8.6"
testImplementation "org.apache.maven.surefire:surefire-report-parser:3.2.5"
Expand All @@ -425,14 +433,16 @@ dependencies {
}
testImplementation ("net.bytebuddy:byte-buddy") {
version {
strictly "1.14.11"
strictly "1.14.12"
}
}

// Lightweight JSON library needed for the internals of the MockRestServiceServer
testImplementation "org.json:json:20240205"
}

ext['junit-jupiter.version'] = junit_version

dependencyManagement {
imports {
mavenBom "io.zonky.test.postgres:embedded-postgres-binaries-bom:16.1.0"
Expand Down
2 changes: 1 addition & 1 deletion docker/artemis/config/cypress-mysql.env
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ SPRING_PROFILES_ACTIVE="artemis,scheduling,bamboo,bitbucket,jira,core,prod,docke
SPRING_DATASOURCE_URL="jdbc:mysql://artemis-mysql:3306/Artemis?createDatabaseIfNotExist=true&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC"
SPRING_DATASOURCE_USERNAME="root"

SPRING_JPA_DATABASE_PLATFORM="org.hibernate.dialect.MySQL8Dialect"
SPRING_JPA_DATABASE_PLATFORM="org.hibernate.dialect.MySQLDialect"
SPRING_JPA_DATABASE="MYSQL"


Expand Down
2 changes: 1 addition & 1 deletion docker/artemis/config/postgres.env
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
SPRING_DATASOURCE_URL="jdbc:postgresql://artemis-postgres:5432/Artemis?sslmode=disable"
SPRING_DATASOURCE_USERNAME="Artemis"

SPRING_JPA_DATABASE_PLATFORM="org.hibernate.dialect.PostgreSQL10Dialect"
SPRING_JPA_DATABASE_PLATFORM="org.hibernate.dialect.PostgreSQLDialect"
SPRING_JPA_DATABASE="POSTGRESQL"
2 changes: 1 addition & 1 deletion docs/admin/database.rst
Original file line number Diff line number Diff line change
Expand Up @@ -226,5 +226,5 @@ In your Artemis config the following values might need to be added/updated to co
username: <YOUR_DB_USER>
password: <YOUR_DB_PASSWORD>
jpa:
database-platform: org.hibernate.dialect.PostgreSQL10Dialect
database-platform: org.hibernate.dialect.PostgreSQLDialect
database: POSTGRESQL
2 changes: 1 addition & 1 deletion docs/dev/guidelines/criteria-builder.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ In order to use Criteria Builder and benefit from Specifications, we need to adj
.. code-block:: yaml

jpa:
database-platform: org.hibernate.dialect.MySQL8Dialect
database-platform: org.hibernate.dialect.MySQLDialect
database: MYSQL
show-sql: true

Expand Down
2 changes: 1 addition & 1 deletion docs/dev/setup/database.rst
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ When setting up the Artemis server, the following values need to be added/update
username: <YOUR_DB_USER>
password: <YOUR_DB_PASSWORD>
jpa:
database-platform: org.hibernate.dialect.PostgreSQL10Dialect
database-platform: org.hibernate.dialect.PostgreSQLDialect
database: POSTGRESQL

.. note::
Expand Down
28 changes: 14 additions & 14 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,34 @@ node_version=20.10.0
npm_version=10.2.3

# Dependency versions
jhipster_dependencies_version=7.9.3
spring_boot_version=2.7.18
spring_security_version=5.8.9
jhipster_dependencies_version=8.1.0
spring_boot_version=3.2.3
spring_security_version=6.2.2
hibernate_version=6.4.4.Final
# TODO: can we update to 5.0.0?
opensaml_version=4.3.0
jwt_version=0.12.5
hibernate_version=5.6.15.Final
jaxb_runtime_version=4.0.4
jaxb_runtime_version=4.0.5
hazelcast_version=5.3.6
junit_version=5.10.2
mockito_version=5.10.0
mockito_version=5.11.0
# TODO: an update to 2.16.0 is currently not possible because it leads to test errors which do not make sense: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 optional type `java.util.Optional<java.lang.String>` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jdk8" to enable handling (through reference chain: de.tum.in.www1.artemis.service.connectors.ci.notification.dto.TestResultsDTO["commitHashFromTestsRepo"])
fasterxml_version=2.15.3
jgit_version=6.8.0.202311291450-r
jgit_version=6.9.0.202403050737-r
checkstyle_version=10.12.7
jplag_version=4.3.0
# TODO: we can only upgrade to 2.x when updating Spring Boot to 3.x
slf4j_version=1.7.36
sentry_version=7.3.0
docker_java_version=3.3.4
# TODO: we can only upgrade to 1.4 in sync with slf4j 2.x and Spring Boot 3.x
logback_version=1.2.13
slf4j_version=2.0.12
sentry_version=7.6.0
# TODO: we cannot upgrade because 4.24.0 would not work with H2 in the tests due to the reserved keyword 'groups', see https://github.com/liquibase/liquibase/pull/4052
liquibase_version=4.23.2
docker_java_version=3.3.6
logback_version=1.5.3

# gradle plugin version
gradle_node_plugin_version=7.0.2
apt_plugin_version=0.21
liquibase_plugin_version=2.1.1
modernizer_plugin_version=1.9.0
modernizer_plugin_version=1.9.2

org.gradle.jvmargs=-Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en \
--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
Expand Down
20 changes: 10 additions & 10 deletions gradle/liquibase.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ configurations {
}

dependencies {
liquibase "org.liquibase.ext:liquibase-hibernate5:4.25.1"
liquibase "org.liquibase.ext:liquibase-hibernate6:${liquibase_version}"
}

def isWindows = OperatingSystem.current().isWindows()
ext.isWindows = OperatingSystem.current().isWindows()

if (isWindows) {
tasks.register('pathingLiquibaseJar', Jar) {
Expand Down Expand Up @@ -44,14 +44,14 @@ def liquibaseCommand(command) {
main = "liquibase.integration.commandline.Main"

args = [
"--changeLogFile=src/main/resources/config/liquibase/changelog/" + buildTimestamp() +"_changelog.xml",
"--referenceUrl=hibernate:spring:de.tum.in.www1.artemis.domain?dialect=org.hibernate.dialect.MySQL8Dialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy",
"--username=root",
"--password=",
"--url=jdbc:mysql://localhost:3306/ArTEMiS?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC",
"--driver=com.mysql.cj.jdbc.Driver",
command
]
"--changeLogFile=src/main/resources/config/liquibase/changelog/" + buildTimestamp() +"_changelog.xml",
"--referenceUrl=hibernate:spring:de.tum.in.www1.artemis.domain?dialect=org.hibernate.dialect.MySQLDialect&hibernate.physical_naming_strategy=org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy",
"--username=root",
"--password=",
"--url=jdbc:mysql://localhost:3306/ArTEMiS?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC",
"--driver=com.mysql.cj.jdbc.Driver",
command
]
}
}

Expand Down
4 changes: 4 additions & 0 deletions gradle/profile_dev.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ bootRun {
args = []
}

bootJar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}

tasks.register('webapp', NpmTask) {
inputs.property('appVersion', project.version)
inputs.files("package-lock.json")
Expand Down
Loading
Loading