Skip to content

Commit

Permalink
merge develop
Browse files Browse the repository at this point in the history
  • Loading branch information
SimonEntholzer committed Dec 21, 2024
2 parents fb4c947 + c00d635 commit ff15cf3
Show file tree
Hide file tree
Showing 378 changed files with 8,963 additions and 2,345 deletions.
13 changes: 7 additions & 6 deletions .github/workflows/testserver.yml
Original file line number Diff line number Diff line change
Expand Up @@ -138,12 +138,13 @@ jobs:
folder: /opt/artemis
host_keys: |
#- environment: artemis-test7.artemis.cit.tum.de
# label-identifier: artemis-test7
# url: https://artemis-test7.artemis.cit.tum.de
# user: deployment
# hosts: artemis-test7.artemis.cit.tum.de
# folder: /opt/artemis
- environment: artemis-test7.artemis.cit.tum.de
label-identifier: artemis-test7
url: https://artemis-test7.artemis.cit.tum.de
user: deployment
hosts: artemis-test7.artemis.cit.tum.de
folder: /opt/artemis
host_keys: |
#- environment: artemis-test8.artemis.cit.tum.de
# label-identifier: artemis-test8
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ data-exports/
######################
/src/test/playwright/test-reports/
/src/test/playwright/test-results/*
/src/test/playwright/ssh-keys/known_hosts

#################################
# Files generated by prebuild.mjs
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2024 TUM Applied Software Engineering
Copyright (c) 2024 TUM Applied Education Technologies

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ Refer to [Using JHipster in production](http://www.jhipster.tech/production) for
The following command can automate the deployment to a server. The example shows the deployment to the main Artemis test server (which runs a virtual machine):

```shell
./artemis-server-cli deploy [email protected] -w build/libs/Artemis-7.7.5.war
./artemis-server-cli deploy [email protected] -w build/libs/Artemis-7.8.0.war
```

## Architecture
Expand Down
35 changes: 21 additions & 14 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ plugins {
id "idea"
id "jacoco"
id "org.springframework.boot" version "${spring_boot_version}"
id "io.spring.dependency-management" version "1.1.6"
id "io.spring.dependency-management" version "1.1.7"
id "com.google.cloud.tools.jib" version "3.4.4"
id "com.github.node-gradle.node" version "${gradle_node_plugin_version}"
id "com.diffplug.spotless" version "6.25.0"
Expand All @@ -25,7 +25,7 @@ plugins {
}

group = "de.tum.cit.aet.artemis"
version = "7.7.5"
version = "7.8.0"
description = "Interactive Learning with Individual Feedback"

java {
Expand Down Expand Up @@ -257,7 +257,7 @@ dependencies {
implementation "org.apache.lucene:lucene-queryparser:${lucene_version}"
implementation "org.apache.lucene:lucene-core:${lucene_version}"
implementation "org.apache.lucene:lucene-analyzers-common:${lucene_version}"
implementation "com.google.protobuf:protobuf-java:4.29.1"
implementation "com.google.protobuf:protobuf-java:4.29.2"

// we have to override those values to use the latest version
implementation "org.slf4j:jcl-over-slf4j:${slf4j_version}"
Expand All @@ -268,7 +268,7 @@ dependencies {
}
}

implementation "org.apache.logging.log4j:log4j-to-slf4j:2.24.2"
implementation "org.apache.logging.log4j:log4j-to-slf4j:2.24.3"

// 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"
Expand Down Expand Up @@ -337,7 +337,7 @@ 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.14.1"
implementation "io.micrometer:micrometer-registry-prometheus:1.14.2"
implementation "net.logstash.logback:logstash-logback-encoder:8.0"

// Defines low-level streaming API, and includes JSON-specific implementations
Expand Down Expand Up @@ -365,7 +365,7 @@ dependencies {

implementation "com.zaxxer:HikariCP:6.2.1"

implementation "org.apache.commons:commons-text:1.12.0"
implementation "org.apache.commons:commons-text:1.13.0"
implementation "org.apache.commons:commons-math3:3.6.1"

implementation "javax.transaction:javax.transaction-api:1.3"
Expand All @@ -384,13 +384,20 @@ dependencies {
exclude module: "spring-boot-starter-undertow"
}
implementation "org.springframework.boot:spring-boot-starter-tomcat:${spring_boot_version}"

// Avoid security issues in Tomcat 10.1.33
implementation "org.apache.tomcat.embed:tomcat-embed-core:${tomcat_version}"
implementation "org.apache.tomcat.embed:tomcat-embed-el:${tomcat_version}"
implementation "org.apache.tomcat.embed:tomcat-embed-websocket:${tomcat_version}"
implementation "org.apache.tomcat:tomcat-annotations-api:${tomcat_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:3.2.8"
implementation "org.springframework.data:spring-data-ldap:3.4.0"
implementation "org.springframework.ldap:spring-ldap-core:3.2.10"
implementation "org.springframework.data:spring-data-ldap:3.4.1"

implementation("org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:${spring_cloud_version}") {
// NOTE: these modules contain security vulnerabilities and are not needed
Expand All @@ -400,10 +407,10 @@ dependencies {
implementation "org.springframework.cloud:spring-cloud-starter-config:${spring_cloud_version}"
implementation "org.springframework.cloud:spring-cloud-commons:${spring_cloud_version}"

implementation "io.netty:netty-all:4.1.115.Final"
implementation "io.projectreactor.netty:reactor-netty:1.2.0"
implementation "io.netty:netty-all:4.1.116.Final"
implementation "io.projectreactor.netty:reactor-netty:1.2.1"
implementation "org.springframework:spring-messaging:${spring_framework_version}"
implementation "org.springframework.retry:spring-retry:2.0.10"
implementation "org.springframework.retry:spring-retry:2.0.11"

implementation "org.springframework.security:spring-security-config:${spring_security_version}"
implementation "org.springframework.security:spring-security-data:${spring_security_version}"
Expand Down Expand Up @@ -451,7 +458,7 @@ dependencies {
implementation "org.apfloat:apfloat:1.14.0"

// use newest version of guava to avoid security issues through outdated dependencies
implementation "com.google.guava:guava:33.3.1-jre"
implementation "com.google.guava:guava:33.4.0-jre"
implementation "com.sun.activation:jakarta.activation:2.0.1"

// use newest version of gson to avoid security issues through outdated dependencies
Expand Down Expand Up @@ -518,7 +525,7 @@ dependencies {
}
testImplementation "org.springframework.security:spring-security-test:${spring_security_version}"
testImplementation "org.springframework.boot:spring-boot-test:${spring_boot_version}"
testImplementation "org.assertj:assertj-core:3.26.3"
testImplementation "org.assertj:assertj-core:3.27.0"
testImplementation "org.mockito:mockito-core:${mockito_version}"
testImplementation "org.mockito:mockito-junit-jupiter:${mockito_version}"

Expand Down Expand Up @@ -607,7 +614,7 @@ tasks.withType(Test).configureEach {
}

wrapper {
gradleVersion = "8.11.1"
gradleVersion = "8.12-rc-2"
}

tasks.register("stage") {
Expand Down
4 changes: 3 additions & 1 deletion docker/artemis/config/playwright-local.env
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ----------------------------------------------------------------------------------------------------------------------
# Artemis configuration overrides for the Playwright E2E Postgres setups
# Artemis configuration overrides for the Playwright E2E Local CI/VC setups
# ----------------------------------------------------------------------------------------------------------------------

SPRING_PROFILES_ACTIVE="artemis,scheduling,localvc,localci,buildagent,core,prod,docker"
Expand All @@ -12,3 +12,5 @@ ARTEMIS_CONTINUOUSINTEGRATION_ARTEMISAUTHENTICATIONTOKENVALUE='demo'
ARTEMIS_CONTINUOUSINTEGRATION_DOCKERCONNECTIONURI='unix:///var/run/docker.sock'
ARTEMIS_GIT_NAME='artemis'
ARTEMIS_GIT_EMAIL='[email protected]'
ARTEMIS_VERSIONCONTROL_SSHHOSTKEYPATH='/app/artemis/src/test/playwright/ssh-keys'
ARTEMIS_VERSIONCONTROL_SSHPORT='7921'
2 changes: 2 additions & 0 deletions docker/playwright-E2E-tests-mysql-localci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ services:
condition: service_healthy
environment:
PLAYWRIGHT_DB_TYPE: 'MySQL'
network_mode: service:artemis-app
networks: !reset []

networks:
artemis:
Expand Down
5 changes: 3 additions & 2 deletions docs/.readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@
version: 2

build:
os: ubuntu-22.04
os: ubuntu-24.04
tools:
python: "3.12"
python: "3.13"
sphinx:
fail_on_warning: true
configuration: docs/conf.py
python:
install:
- requirements: docs/requirements.txt
2 changes: 1 addition & 1 deletion docs/admin/setup/distributed.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Setup with multiple instances
There are certain scenarios, where a setup with multiple instances of the application server is required.
This can e.g. be due to special requirements regarding fault tolerance or performance.

Artemis also supports this setup (which is also used at the Chair for Applied Software Engineering at TUM).
Artemis also supports this setup (which is also used at TUM).

Multiple instances of the application server are used to distribute the load:

Expand Down
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
# -- Project information -----------------------------------------------------

project = 'Artemis'
copyright = '2024, Technical University of Munich, Applied Software Engineering'
author = 'Technical University of Munich, Applied Software Engineering'
copyright = '2024, Applied Education Technologies, Technical University of Munich'
author = 'Applied Education Technologies, Technical University of Munich'


# -- General configuration ---------------------------------------------------
Expand Down
Binary file removed docs/dev/cypress/cypress-open-screenshot.png
Binary file not shown.
4 changes: 0 additions & 4 deletions docs/dev/cypress/cypress_bamboo_deployment_diagram.svg

This file was deleted.

This file was deleted.

Binary file removed docs/dev/cypress/sorry-cypress-dashboard.png
Binary file not shown.
Binary file removed docs/dev/cypress/sorry-cypress-run.png
Binary file not shown.
Binary file removed docs/dev/cypress/sorry-cypress-runs.png
Binary file not shown.
Binary file removed docs/dev/cypress/sorry-cypress-test.png
Binary file not shown.
Loading

0 comments on commit ff15cf3

Please sign in to comment.