Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
Stephan Krusche committed May 29, 2024
2 parents 8f25bf9 + f67c2f2 commit d14aeaf
Show file tree
Hide file tree
Showing 25 changed files with 2,941 additions and 2,302 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
push:
branches: [main]
pull_request:
branches: [main]
branches: [main]

jobs:
test:
Expand All @@ -20,7 +20,7 @@ jobs:
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
java-version: '21'
cache: 'gradle'
- name: Setup Node
uses: actions/setup-node@v4
Expand Down
3 changes: 2 additions & 1 deletion .run/Benchmarking (Server).run.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
<option name="ACTIVE_PROFILES" value="dev,local" />
<module name="Artemis-Benchmarking.main" />
<option name="SPRING_BOOT_MAIN_CLASS" value="de.tum.cit.ase.ArtemisBenchmarkingApp" />
<option name="VM_PARAMETERS" value="-XX:+ShowCodeDetailsInExceptionMessages -Duser.country=US -Duser.language=en -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-modules java.se --add-exports java.base/jdk.internal.ref=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.management/sun.management=ALL-UNNAMED --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>
</component>
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM gradle:8.7-jdk17 AS build
FROM gradle:8.7-jdk21 AS build

COPY --chown=gradle:gradle . /home/gradle/src
WORKDIR /home/gradle/src
Expand Down
114 changes: 69 additions & 45 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,30 +1,33 @@
plugins {
id "checkstyle"
id "java"
id "maven-publish"
id "idea"
id "eclipse"
id "jacoco"
id "org.springframework.boot"
id "com.google.cloud.tools.jib"
id "com.gorylenko.gradle-git-properties"
id "org.openapi.generator"
id "com.github.node-gradle.node"
id "org.sonarqube"
id "com.diffplug.spotless"
id "io.spring.nohttp"
id "com.github.andygoossens.gradle-modernizer-plugin"
id "org.liquibase.gradle"
id "com.google.cloud.tools.jib" version "3.4.2"
id "com.gorylenko.gradle-git-properties" version "2.4.2"
id "org.openapi.generator" version "7.6.0"
id "com.github.node-gradle.node" version "7.0.2"
id "org.sonarqube" version "5.0.0.4638"
id "com.diffplug.spotless" version "6.25.0"
id "com.github.andygoossens.gradle-modernizer-plugin" version "1.9.2"
id "org.liquibase.gradle" version "2.2.2"
// this allows us to find outdated dependencies via ./gradlew dependencyUpdates
id "com.github.ben-manes.versions" version "0.51.0"
// jhipster-needle-gradle-plugins - JHipster will add additional gradle plugins here
}

group = "de.tum.cit.ase"
version = "0.1.0"
version = "0.1.1"

description = ""

sourceCompatibility=17
targetCompatibility=17
assert System.properties["java.specification.version"] == "17" || "18" || "19" || "20" || "21"
java {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}

ext {
springProfiles = ""
Expand Down Expand Up @@ -141,14 +144,11 @@ checkstyle {
toolVersion "${checkstyleVersion}"
configFile file("checkstyle.xml")
checkstyleTest.enabled = false
}
nohttp {
source.include "build.gradle", "README.md"
maxErrors = 0
}

configurations {
providedRuntime
implementation.exclude module: "spring-boot-starter-tomcat"
}

repositories {
Expand All @@ -167,13 +167,13 @@ dependencies {
// Use ", version: jhipsterDependenciesVersion, changing: true" if you want
// to use a SNAPSHOT release instead of a stable release
implementation "tech.jhipster:jhipster-framework"
implementation "jakarta.annotation:jakarta.annotation-api"
implementation "jakarta.annotation:jakarta.annotation-api:3.0.0"
implementation "com.fasterxml.jackson.module:jackson-module-jaxb-annotations"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-hibernate6"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-hppc"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310"
testImplementation "org.testcontainers:junit-jupiter"
testImplementation "org.testcontainers:testcontainers"
testImplementation "org.testcontainers:junit-jupiter:${testcontainersVersion}"
testImplementation "org.testcontainers:testcontainers:${testcontainersVersion}"
implementation "org.springdoc:springdoc-openapi-starter-webmvc-api"
implementation "com.zaxxer:HikariCP"
implementation "org.apache.commons:commons-lang3"
Expand All @@ -187,36 +187,40 @@ dependencies {
implementation "org.mapstruct:mapstruct:${mapstructVersion}"
annotationProcessor "org.mapstruct:mapstruct-processor:${mapstructVersion}"
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor:${springBootVersion}"
implementation "org.springframework.boot:spring-boot-loader-tools"
implementation "org.springframework.boot:spring-boot-starter-actuator"
implementation "org.springframework.boot:spring-boot-starter-data-jpa"
testImplementation "org.testcontainers:jdbc"
implementation "org.springframework.boot:spring-boot-starter-logging"
implementation "org.springframework.boot:spring-boot-starter-mail"
implementation "org.springframework.boot:spring-boot-starter-security"
implementation "org.springframework.boot:spring-boot-starter-thymeleaf"
implementation "org.springframework.boot:spring-boot-starter-web"
testImplementation "org.springframework.boot:spring-boot-starter-test"
testImplementation "org.springframework.boot:spring-boot-test"
testImplementation "org.springframework.security:spring-security-test"
implementation "org.springframework.boot:spring-boot-loader-tools:${springBootVersion}"
implementation "org.springframework.boot:spring-boot-starter-actuator:${springBootVersion}"
implementation "org.springframework.boot:spring-boot-starter-cache:${springBootVersion}"
implementation "org.springframework.boot:spring-boot-starter-webflux:${springBootVersion}"
implementation "org.springframework.boot:spring-boot-starter-data-jpa:${springBootVersion}"
testImplementation "org.testcontainers:jdbc:${testcontainersVersion}"
implementation "org.springframework.boot:spring-boot-starter-logging:${springBootVersion}"
implementation "org.springframework.boot:spring-boot-starter-mail:${springBootVersion}"
implementation "org.springframework.boot:spring-boot-starter-security:${springBootVersion}"
implementation "org.springframework.boot:spring-boot-starter-thymeleaf:${springBootVersion}"
testImplementation "org.springframework.boot:spring-boot-starter-test:${springBootVersion}"
testImplementation "org.springframework.boot:spring-boot-test:${springBootVersion}"
testImplementation "org.springframework.security:spring-security-test:${springSecurityVersion}"
testImplementation("com.tngtech.archunit:archunit-junit5-api:${archunitJunit5Version}") {
exclude group: "org.slf4j", module: "slf4j-api"
}
testRuntimeOnly("com.tngtech.archunit:archunit-junit5-engine:${archunitJunit5Version}") {
exclude group: "org.slf4j", module: "slf4j-api"
}
implementation "org.springframework.boot:spring-boot-starter-undertow"
implementation "org.springframework.boot:spring-boot-starter-websocket"
implementation "org.springframework.boot:spring-boot-starter-oauth2-resource-server"
implementation "org.springframework.security:spring-security-data"
implementation "io.micrometer:micrometer-registry-prometheus"
implementation("org.springframework.boot:spring-boot-starter-web:${springBootVersion}") {
exclude module: "spring-boot-starter-undertow"
}
implementation "org.springframework.boot:spring-boot-starter-tomcat:${springBootVersion}"
implementation "org.springframework.boot:spring-boot-starter-websocket:${springBootVersion}"
implementation "org.springframework.boot:spring-boot-starter-oauth2-resource-server:${springBootVersion}"
implementation "org.springframework.security:spring-security-data:${springSecurityVersion}"

implementation "io.micrometer:micrometer-registry-prometheus:1.13.0"
implementation "io.dropwizard.metrics:metrics-core"
implementation "org.springframework.security:spring-security-messaging"
implementation("org.springframework.boot:spring-boot-starter-webflux")
implementation("commons-io:commons-io:2.16.1")
implementation("com.thedeanda:lorem:2.2")
implementation("org.eclipse.jgit:org.eclipse.jgit:6.9.0.202403050737-r")
implementation("io.reactivex.rxjava3:rxjava:3.1.8")
implementation "org.springframework.security:spring-security-messaging:${springSecurityVersion}"
implementation "commons-io:commons-io:2.16.1"
implementation "com.thedeanda:lorem:2.2"
implementation "org.eclipse.jgit:org.eclipse.jgit:6.9.0.202403050737-r"
implementation "io.reactivex.rxjava3:rxjava:3.1.8"
implementation 'io.netty:netty-resolver-dns-native-macos:4.1.100.Final:osx-aarch_64'
implementation 'com.opencsv:opencsv:5.9'
}
Expand All @@ -238,7 +242,7 @@ task cleanResources(type: Delete) {
}

wrapper {
gradleVersion = "8.5"
gradleVersion = "8.7"
}

task webapp_test(type: NpmTask) {
Expand Down Expand Up @@ -272,7 +276,7 @@ task webapp_test(type: NpmTask) {

if (project.hasProperty("nodeInstall")) {
node {
version = "18.18.2"
version = "20.10.0"
npmVersion = "10.2.4"
download = true
}
Expand All @@ -294,3 +298,23 @@ if (project.hasProperty("nodeInstall")) {
test.dependsOn webapp_test
compileJava.dependsOn processResources
processResources.dependsOn bootBuildInfo

def isNonStable = { String version ->
def stableKeyword = ["RELEASE", "FINAL", "GA"].any { it -> version.toUpperCase().contains(it) }
def regex = /^[0-9,.v-]+(-r)?$/
return !stableKeyword && !(version ==~ regex)
}

tasks.named("dependencyUpdates").configure {
rejectVersionIf {
isNonStable(it.candidate.version)
}

rejectVersionIf {
isNonStable(it.candidate.version) && !isNonStable(it.currentVersion)
}
}

// Available commands:
//
// 1) Find dependency updates: ./gradlew dependencyUpdates -Drevision=release
2 changes: 1 addition & 1 deletion docker-compose.prod.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
version: '3.8'
services:
nginx:
image: nginx:1.25.3-alpine-slim
image: nginx:1.26.0-alpine-slim
ports:
- '80:80'
- '443:443'
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ services:
restart: always

mysql:
image: mysql:8.1.0
image: mysql:8.4.0
volumes:
- artemis-mysql-data:/var/lib/mysql
env_file:
Expand Down
37 changes: 25 additions & 12 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,20 @@ rootProject.name=artemis-benchmarking
profile=dev

# Dependency versions
jhipsterDependenciesVersion=8.1.0
jhipsterDependenciesVersion=8.4.0
# The spring-boot version should match the one managed by
# https://mvnrepository.com/artifact/tech.jhipster/jhipster-dependencies/8.1.0
springBootVersion=3.2.0
# https://mvnrepository.com/artifact/tech.jhipster/jhipster-dependencies/8.4.0
springBootVersion=3.3.0
springSecurityVersion=6.3.0
# The hibernate version should match the one managed by
# https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-dependencies/3.2.0 -->
hibernateVersion=6.3.1.Final
# https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-dependencies/3.3.0 -->
hibernateVersion=6.5.2.Final
mapstructVersion=1.5.5.Final
archunitJunit5Version=1.2.1
archunitJunit5Version=1.3.0
jacksonDatabindNullableVersion=0.2.6
hazelcastSpringVersion=5.3.6

hazelcastSpringVersion=5.4.0
mysqlVersion=8.4.0
testcontainersVersion=1.19.8


jaxbRuntimeVersion=4.0.4
Expand All @@ -25,14 +27,12 @@ gradleNodePluginVersion=7.0.1
sonarqubePluginVersion=4.4.1.3373
spotlessPluginVersion=6.23.3
openapiPluginVersion=7.1.0
noHttpCheckstyleVersion=0.0.11
checkstyleVersion=10.12.5
checkstyleVersion=10.16.0
modernizerPluginVersion=1.9.0

liquibaseTaskPrefix=liquibase
liquibasePluginVersion=2.2.1
liquibaseVersion=4.24.0
liquibaseHibernate6Version=4.24.0
liquibaseVersion=4.28.0
# jhipster-needle-gradle-property - JHipster will add additional properties here

## below are some of the gradle performance improvement settings that can be used as required, these are not enabled by default
Expand Down Expand Up @@ -67,3 +67,16 @@ liquibaseHibernate6Version=4.24.0

## Install and use a local version of node and npm.
nodeInstall

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 \
--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED \
--add-modules java.se \
--add-exports java.base/jdk.internal.ref=ALL-UNNAMED \
--add-opens java.base/java.lang=ALL-UNNAMED \
--add-opens java.base/sun.nio.ch=ALL-UNNAMED \
--add-opens java.management/sun.management=ALL-UNNAMED \
--add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED
10 changes: 5 additions & 5 deletions gradle/liquibase.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ configurations {
}

dependencies {
implementation "org.liquibase:liquibase-core"
liquibaseRuntime "org.liquibase:liquibase-core"
implementation "org.liquibase:liquibase-core:${liquibaseVersion}"
liquibaseRuntime "org.liquibase:liquibase-core:${liquibaseVersion}"
// Dependency required to parse options. Refer to https://github.com/liquibase/liquibase-gradle-plugin/tree/Release_2.2.0#news.
liquibaseRuntime "info.picocli:picocli:4.7.5"
liquibaseRuntime "info.picocli:picocli:4.7.6"

liquibaseRuntime "org.liquibase.ext:liquibase-hibernate6:${liquibaseHibernate6Version}"
liquibaseRuntime "com.mysql:mysql-connector-j"
liquibaseRuntime "org.liquibase.ext:liquibase-hibernate6:${liquibaseVersion}"
liquibaseRuntime "com.mysql:mysql-connector-j:${mysqlVersion}"
}

project.ext.diffChangelogFile = "src/main/resources/config/liquibase/changelog/" + new Date().format("yyyyMMddHHmmss") + "_changelog.xml"
Expand Down
5 changes: 2 additions & 3 deletions gradle/profile_dev.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@ configurations {
}

dependencies {
developmentOnly "org.springframework.boot:spring-boot-devtools:${springBootVersion}"
implementation "com.mysql:mysql-connector-j"
testImplementation "org.testcontainers:mysql"
implementation "com.mysql:mysql-connector-j:${mysqlVersion}"
testImplementation "org.testcontainers:mysql:${testcontainersVersion}"
}

ext {
Expand Down
4 changes: 2 additions & 2 deletions gradle/profile_prod.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ configurations {
}

dependencies {
implementation "com.mysql:mysql-connector-j"
testImplementation "org.testcontainers:mysql"
implementation "com.mysql:mysql-connector-j:${mysqlVersion}"
testImplementation "org.testcontainers:mysql:${testcontainersVersion}"
}

ext {
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit d14aeaf

Please sign in to comment.