Skip to content

Commit

Permalink
Merge branch 'develop' into feature/text-module-api
Browse files Browse the repository at this point in the history
  • Loading branch information
ole-ve authored Feb 21, 2025
2 parents 89149a9 + f9490fc commit e69437b
Show file tree
Hide file tree
Showing 147 changed files with 3,957 additions and 1,313 deletions.
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.10.2.war
./artemis-server-cli deploy [email protected] -w build/libs/Artemis-7.10.3.war
```

## Architecture
Expand Down
57 changes: 29 additions & 28 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ plugins {
id "io.spring.dependency-management" version "1.1.7"
id "nebula.lint" version "20.5.6"
id "org.liquibase.gradle" version "${liquibase_plugin_version}"
id "org.owasp.dependencycheck" version "12.0.2"
id "org.owasp.dependencycheck" version "12.1.0"
id "org.springframework.boot" version "${spring_boot_version}"
}

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

java {
Expand Down Expand Up @@ -207,7 +207,7 @@ dependencies {
implementation "me.xdrop:fuzzywuzzy:1.4.0"
implementation("org.yaml:snakeyaml") {
version {
strictly "2.3"
strictly "2.4"
// needed to reduce the number of vulnerabilities, also see https://mvnrepository.com/artifact/org.yaml/snakeyaml
}
}
Expand Down Expand Up @@ -263,6 +263,27 @@ dependencies {
implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${fasterxml_version}"



// Avoid outdated version of netty to prevent security issues
implementation("io.netty:netty-buffer") { version { strictly netty_version } }
implementation("io.netty:netty-codec") { version { strictly netty_version } }
implementation("io.netty:netty-codec-dns") { version { strictly netty_version } }
implementation("io.netty:netty-codec-http") { version { strictly netty_version } }
implementation("io.netty:netty-codec-http2") { version { strictly netty_version } }
implementation("io.netty:netty-codec-socks") { version { strictly netty_version } }
implementation("io.netty:netty-common") { version { strictly netty_version } }
implementation("io.netty:netty-resolver") { version { strictly netty_version } }
implementation("io.netty:netty-resolver-dns") { version { strictly netty_version } }
implementation("io.netty:netty-transport") { version { strictly netty_version } }
implementation("io.netty:netty-transport-native-epoll") { version { strictly netty_version } }
implementation("io.netty:netty-handler") { version { strictly netty_version } }
implementation("io.netty:netty-handler-proxy") { version { strictly netty_version } }

implementation("net.minidev:json-smart") { version { strictly "2.5.2" } }




// Required for synchronization between nodes and build agents (LocalCI)
implementation "com.hazelcast:hazelcast:${hazelcast_version}"
implementation "com.hazelcast:hazelcast-spring:${hazelcast_version}"
Expand Down Expand Up @@ -371,31 +392,11 @@ dependencies {
implementation "com.google.errorprone:error_prone_annotations:2.36.0"

// NOTE: we want to keep the same unique version for all configurations, implementation and annotationProcessor
implementation("net.bytebuddy:byte-buddy") {
version {
strictly byte_buddy_version
}
}
annotationProcessor("net.bytebuddy:byte-buddy") {
version {
strictly byte_buddy_version
}
}
liquibaseRuntime("net.bytebuddy:byte-buddy") {
version {
strictly byte_buddy_version
}
}
implementation("net.bytebuddy:byte-buddy-agent") {
version {
strictly byte_buddy_version
}
}
annotationProcessor("net.bytebuddy:byte-buddy-agent") {
version {
strictly byte_buddy_version
}
}
implementation("net.bytebuddy:byte-buddy") { version { strictly byte_buddy_version } }
annotationProcessor("net.bytebuddy:byte-buddy") { version { strictly byte_buddy_version } }
liquibaseRuntime("net.bytebuddy:byte-buddy") { version { strictly byte_buddy_version } }
implementation("net.bytebuddy:byte-buddy-agent") { version { strictly byte_buddy_version } }
annotationProcessor("net.bytebuddy:byte-buddy-agent") { version { strictly byte_buddy_version } }

annotationProcessor "org.hibernate:hibernate-jpamodelgen:${hibernate_version}"
annotationProcessor "org.glassfish.jaxb:jaxb-runtime:${jaxb_runtime_version}"
Expand Down
4 changes: 2 additions & 2 deletions docs/user/exercises/programming-exercise-features.inc
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ Instructors can still use those templates to generate programming exercises and
+----------------------+----------------------+----------------------+---------------------+--------------+------------------------------------------+------------------------------+------------------------+
| OCaml | no | no | no | no | n/a | yes | L: yes, J: no |
+----------------------+----------------------+----------------------+---------------------+--------------+------------------------------------------+------------------------------+------------------------+
| Rust | no | no | yes | no | n/a | no | L: yes, J: no |
| Rust | no | L: yes; J: no | yes | no | n/a | no | L: yes, J: no |
+----------------------+----------------------+----------------------+---------------------+--------------+------------------------------------------+------------------------------+------------------------+
| JavaScript | no | no | yes | no | n/a | no | L: yes, J: no |
+----------------------+----------------------+----------------------+---------------------+--------------+------------------------------------------+------------------------------+------------------------+
Expand All @@ -105,7 +105,7 @@ Instructors can still use those templates to generate programming exercises and
+----------------------+----------------------+----------------------+---------------------+--------------+------------------------------------------+------------------------------+------------------------+
| Ruby | no | L: yes; J: no | no | no | n/a | no | L: yes, J: no |
+----------------------+----------------------+----------------------+---------------------+--------------+------------------------------------------+------------------------------+------------------------+
| Dart | no | no | no | no | n/a | no | L: yes, J: no |
| Dart | no | L: yes; J: no | no | no | n/a | no | L: yes, J: no |
+----------------------+----------------------+----------------------+---------------------+--------------+------------------------------------------+------------------------------+------------------------+

- *Sequential Test Runs*: ``Artemis`` can generate a build plan which first executes structural and then behavioral tests. This feature can help students to better concentrate on the immediate challenge at hand.
Expand Down
6 changes: 6 additions & 0 deletions docs/user/plagiarism-check.rst
Original file line number Diff line number Diff line change
Expand Up @@ -301,8 +301,12 @@ the student can dispute the case within the period configured by the instructor.
:width: 500
.. |student-notification| image:: plagiarism-check/instructor/student-notification.png
:width: 500
.. Diagram created with the Apollon VSCode extension (https://marketplace.visualstudio.com/items?itemName=TUMAET.apollon-vscode)
Respective .apollon file is plagiarism-check/instructor/instructors-workflow.apollon
.. |instructors-workflow| image:: plagiarism-check/instructor/instructors-workflow.png
:width: 700
.. Diagram created with the Apollon VSCode extension (https://marketplace.visualstudio.com/items?itemName=TUMAET.apollon-vscode)
Respective .apollon file is plagiarism-check/tutor/tutor-workflow.apollon
.. |tutor-workflow| image:: plagiarism-check/tutor/tutor-workflow.png
:width: 700
.. |run-settings| image:: plagiarism-check/tutor/running-check-settings.png
Expand All @@ -311,6 +315,8 @@ the student can dispute the case within the period configured by the instructor.
:width: 1000
.. |student-plagiarism-case-navigation| image:: plagiarism-check/student/plagiarism-case-navigation.png
:width: 1000
.. Diagram created with the Apollon VSCode extension (https://marketplace.visualstudio.com/items?itemName=TUMAET.apollon-vscode)
Respective .apollon file is plagiarism-check/student/student-workflow.apollon
.. |student-workflow| image:: plagiarism-check/student/student-workflow.png
:width: 700
.. |run-results| image:: plagiarism-check/results/run-results.png
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"id":"211c10ed-73ec-41e1-987b-6b68cec890bd","title":"Instructors Workflow","lastUpdate":"2025-01-27T22:39:11.171Z","model":{"version":"3.0.0","type":"ActivityDiagram","size":{"width":1230,"height":860},"interactive":{"elements":{},"relationships":{}},"elements":{"4c54cc77-56c6-4f39-8344-2d8d2d7defc8":{"id":"4c54cc77-56c6-4f39-8344-2d8d2d7defc8","name":"","type":"ActivityInitialNode","owner":null,"bounds":{"x":-590,"y":-220,"width":45,"height":45}},"547ac65b-1cf1-490c-beff-6936b9fe3908":{"id":"547ac65b-1cf1-490c-beff-6936b9fe3908","name":"Navigate to plagiarism cases","type":"ActivityActionNode","owner":null,"bounds":{"x":-430,"y":-230,"width":240,"height":70}},"f281878b-5786-4171-b262-439ccca917a5":{"id":"f281878b-5786-4171-b262-439ccca917a5","name":"Export needed","type":"ActivityMergeNode","owner":null,"bounds":{"x":-70,"y":-240,"width":160,"height":100}},"fed5d528-6568-40b1-99b7-0e90a5973077":{"id":"fed5d528-6568-40b1-99b7-0e90a5973077","name":"Cases without final verdict?","type":"ActivityMergeNode","owner":null,"bounds":{"x":200,"y":-250,"width":270,"height":100}},"9a306717-e273-4bd5-96c7-693e3ccf56f0":{"id":"9a306717-e273-4bd5-96c7-693e3ccf56f0","name":"Export to CSV file","type":"ActivityActionNode","owner":null,"bounds":{"x":-70,"y":-410,"width":160,"height":70}},"9d9d2cef-1d0b-49d8-9364-95c40e41d966":{"id":"9d9d2cef-1d0b-49d8-9364-95c40e41d966","name":"","type":"ActivityFinalNode","owner":null,"bounds":{"x":550,"y":-220,"width":45,"height":45}},"6999657f-7567-46a6-9a62-c0872a0be0c4":{"id":"6999657f-7567-46a6-9a62-c0872a0be0c4","name":"Select next confirmed case","type":"ActivityActionNode","owner":null,"bounds":{"x":220,"y":-60,"width":230,"height":70}},"54121a02-efe1-4ae6-a600-70484379df07":{"id":"54121a02-efe1-4ae6-a600-70484379df07","name":"Student provided statement?","type":"ActivityMergeNode","owner":null,"bounds":{"x":200,"y":100,"width":270,"height":100}},"c234ed5e-cba4-46b2-a0d8-a740f9076d8c":{"id":"c234ed5e-cba4-46b2-a0d8-a740f9076d8c","name":"Ask student for statement","type":"ActivityActionNode","owner":null,"bounds":{"x":-140,"y":120,"width":230,"height":70}},"404372e7-97d0-4eb2-89ea-0e5ee132f7ff":{"id":"404372e7-97d0-4eb2-89ea-0e5ee132f7ff","name":"Make final verdict","type":"ActivityActionNode","owner":null,"bounds":{"x":220,"y":270,"width":230,"height":70}},"b3639774-b81a-4778-ac27-2d26cd676c4d":{"id":"b3639774-b81a-4778-ac27-2d26cd676c4d","name":"","type":"ActivityFinalNode","owner":null,"bounds":{"x":550,"y":270,"width":45,"height":45}}},"relationships":{"e1e5e8da-0bc2-4b63-b734-2ec6ec0689dd":{"id":"e1e5e8da-0bc2-4b63-b734-2ec6ec0689dd","name":"","type":"ActivityControlFlow","owner":null,"bounds":{"x":-545,"y":-197.5,"width":115,"height":1},"path":[{"x":0,"y":0},{"x":115,"y":0}],"source":{"direction":"Right","element":"4c54cc77-56c6-4f39-8344-2d8d2d7defc8"},"target":{"direction":"Left","element":"547ac65b-1cf1-490c-beff-6936b9fe3908"},"isManuallyLayouted":false},"abb22c24-59d4-432d-a5a8-f507b19d9ece":{"id":"abb22c24-59d4-432d-a5a8-f507b19d9ece","name":"","type":"ActivityControlFlow","owner":null,"bounds":{"x":-190,"y":-195,"width":120,"height":1},"path":[{"x":0,"y":0},{"x":120,"y":0}],"source":{"direction":"Right","element":"547ac65b-1cf1-490c-beff-6936b9fe3908"},"target":{"direction":"Left","element":"f281878b-5786-4171-b262-439ccca917a5"},"isManuallyLayouted":false},"8f1c34a9-94b0-4bda-a84a-ffdcb228207c":{"id":"8f1c34a9-94b0-4bda-a84a-ffdcb228207c","name":"no","type":"ActivityControlFlow","owner":null,"bounds":{"x":90,"y":-235,"width":110,"height":41},"path":[{"x":0,"y":40},{"x":110,"y":40}],"source":{"direction":"Right","element":"f281878b-5786-4171-b262-439ccca917a5"},"target":{"direction":"Left","element":"fed5d528-6568-40b1-99b7-0e90a5973077"},"isManuallyLayouted":false},"428aad41-1806-4b17-bbc9-72f67f5cf4cd":{"id":"428aad41-1806-4b17-bbc9-72f67f5cf4cd","name":"yes","type":"ActivityControlFlow","owner":null,"bounds":{"x":10,"y":-340,"width":29.90625,"height":100},"path":[{"x":0,"y":100},{"x":0,"y":0}],"source":{"direction":"Up","element":"f281878b-5786-4171-b262-439ccca917a5"},"target":{"direction":"Down","element":"9a306717-e273-4bd5-96c7-693e3ccf56f0"},"isManuallyLayouted":false},"b1ad2753-58fe-4641-9dea-6b07b3ed9ad6":{"id":"b1ad2753-58fe-4641-9dea-6b07b3ed9ad6","name":"","type":"ActivityControlFlow","owner":null,"bounds":{"x":90,"y":-375,"width":245,"height":125},"path":[{"x":0,"y":0},{"x":245,"y":0},{"x":245,"y":125}],"source":{"direction":"Right","element":"9a306717-e273-4bd5-96c7-693e3ccf56f0"},"target":{"direction":"Up","element":"fed5d528-6568-40b1-99b7-0e90a5973077"},"isManuallyLayouted":false},"37b413c8-c1bf-4973-9b75-8d47b8a8eef7":{"id":"37b413c8-c1bf-4973-9b75-8d47b8a8eef7","name":"no","type":"ActivityControlFlow","owner":null,"bounds":{"x":470,"y":-237.5,"width":80,"height":41},"path":[{"x":0,"y":40},{"x":80,"y":40}],"source":{"direction":"Right","element":"fed5d528-6568-40b1-99b7-0e90a5973077"},"target":{"direction":"Left","element":"9d9d2cef-1d0b-49d8-9364-95c40e41d966"},"isManuallyLayouted":false},"d54a3eae-2c7a-4abc-bfde-edf154c9b563":{"id":"d54a3eae-2c7a-4abc-bfde-edf154c9b563","name":"yes","type":"ActivityControlFlow","owner":null,"bounds":{"x":335,"y":-150,"width":29.90625,"height":90},"path":[{"x":0,"y":0},{"x":0,"y":90}],"source":{"direction":"Down","element":"fed5d528-6568-40b1-99b7-0e90a5973077"},"target":{"direction":"Up","element":"6999657f-7567-46a6-9a62-c0872a0be0c4"},"isManuallyLayouted":false},"5582da1b-a2fa-44b9-9a49-20708d763036":{"id":"5582da1b-a2fa-44b9-9a49-20708d763036","name":"","type":"ActivityControlFlow","owner":null,"bounds":{"x":335,"y":10,"width":1,"height":90},"path":[{"x":0,"y":0},{"x":0,"y":90}],"source":{"direction":"Down","element":"6999657f-7567-46a6-9a62-c0872a0be0c4"},"target":{"direction":"Up","element":"54121a02-efe1-4ae6-a600-70484379df07"},"isManuallyLayouted":false},"4fe97e27-cc70-4e03-ab2a-a37738072e14":{"id":"4fe97e27-cc70-4e03-ab2a-a37738072e14","name":"","type":"ActivityControlFlow","owner":null,"bounds":{"x":450,"y":292.5,"width":100,"height":1},"path":[{"x":0,"y":0},{"x":100,"y":0}],"source":{"direction":"Right","element":"404372e7-97d0-4eb2-89ea-0e5ee132f7ff"},"target":{"direction":"Left","element":"b3639774-b81a-4778-ac27-2d26cd676c4d"},"isManuallyLayouted":false},"a56eb4f5-7bb0-4f3f-ac02-da61c25d2b18":{"id":"a56eb4f5-7bb0-4f3f-ac02-da61c25d2b18","name":"yes","type":"ActivityControlFlow","owner":null,"bounds":{"x":335,"y":195,"width":29.90625,"height":75},"path":[{"x":0,"y":5},{"x":0,"y":75}],"source":{"direction":"Down","element":"54121a02-efe1-4ae6-a600-70484379df07"},"target":{"direction":"Up","element":"404372e7-97d0-4eb2-89ea-0e5ee132f7ff"},"isManuallyLayouted":false},"4ca2525d-7acf-4ff5-b231-1fcf18856ec2":{"id":"4ca2525d-7acf-4ff5-b231-1fcf18856ec2","name":"no","type":"ActivityControlFlow","owner":null,"bounds":{"x":90,"y":115,"width":110,"height":41},"path":[{"x":110,"y":40},{"x":0,"y":40}],"source":{"direction":"Left","element":"54121a02-efe1-4ae6-a600-70484379df07"},"target":{"direction":"Right","element":"c234ed5e-cba4-46b2-a0d8-a740f9076d8c"},"isManuallyLayouted":false},"178171d8-da0f-441d-aef0-ee6809ff5827":{"id":"178171d8-da0f-441d-aef0-ee6809ff5827","name":"","type":"ActivityControlFlow","owner":null,"bounds":{"x":-310,"y":-160,"width":285,"height":280},"path":[{"x":285,"y":280},{"x":285,"y":140},{"x":0,"y":140},{"x":0,"y":0}],"source":{"direction":"Up","element":"c234ed5e-cba4-46b2-a0d8-a740f9076d8c"},"target":{"direction":"Down","element":"547ac65b-1cf1-490c-beff-6936b9fe3908"},"isManuallyLayouted":false}},"assessments":{}}}
Binary file modified docs/user/plagiarism-check/instructor/instructors-workflow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit e69437b

Please sign in to comment.