Skip to content

Commit

Permalink
Merge branch 'develop' into chore/exam-mode/add-save-button
Browse files Browse the repository at this point in the history
Pull latest changes
  • Loading branch information
edkaya committed Oct 24, 2024
2 parents 07f3af6 + dd96df5 commit a18c304
Show file tree
Hide file tree
Showing 472 changed files with 17,709 additions and 4,113 deletions.
4 changes: 2 additions & 2 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ tone_instructions: ''
early_access: true
enable_free_tier: true
reviews:
profile: assertive
profile: chill
request_changes_workflow: true
high_level_summary: true
high_level_summary_placeholder: '@coderabbitai summary'
Expand Down Expand Up @@ -192,7 +192,7 @@ reviews:
- TYPOGRAPHY
- CASING
enabled_only: false
level: picky
level: default
enabled_rules: []
enabled_categories: []
biome:
Expand Down
144 changes: 144 additions & 0 deletions .github/issue-labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
assessment:
- assessment
- bonus
- complaint
- submission
- grading
- grade
- score
- caseSensitive: false

athena:
- athena
- caseSensitive: false

atlas:
- atlas
- competency
- competencies
- knowledge area
- learning path
- learner profile
- science event
- adaptive learning
- caseSensitive: false

buildagent:
- buildagent
- build agent
- buildjob
- build job
- build result
- caseSensitive: false

communication:
- communication
- conversation
- notification
- agreement
- faq
- post
- reaction
- chat
- message
- caseSensitive: false

core:
- user-management
- authority
- data export
- migration
- user
- group
- caseSensitive: false

exam:
- exam
- exercisegroup
- student exam
- suspicious behavior
- suspicious behaviour
- caseSensitive: false

exercise:
- exercise
- participation
- participant
- difficulty
- lifecycle
- team
- assignment
- caseSensitive: false

fileupload:
- fileupload
- upload
- caseSensitive: false

iris:
- iris
- llm
- chatbot
- ai
- caseSensitive: false

lecture:
- lecture
- attachment
- online
- slide
- video
- text unit
- caseSensitive: false

lti:
- lti
- online course
- caseSensitive: false

modeling:
- modeling
- diagram
- uml
- caseSensitive: false

plagiarism:
- plagiarism
- caseSensitive: false

programming:
- programming
- build
- build plan
- code hint
- git
- testwise coverage
- ide
- submission policy
- aeolus
- penalty
- auxilary
- commit
- project
- static code analysis
- caseSensitive: false

quiz:
- quiz
- drag
- drop
- single choice
- multiple choice
- batch
- short answer
- caseSensitive: false

text:
- text
- block
- caseSensitive: false

tutorialgroup:
- tutorialgroup
- session
- caseSensitive: false
26 changes: 24 additions & 2 deletions .github/workflows/analysis-of-endpoint-connections.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,16 @@ jobs:
path: supporting_scripts/analysis-of-endpoint-connections/

- name: Analyze endpoints
run:
run: |
./gradlew :supporting_scripts:analysis-of-endpoint-connections:runEndpointAnalysis
continue-on-error: true
id: endpointAnalysis

- name: Analyze rest calls
run:
run: |
./gradlew :supporting_scripts:analysis-of-endpoint-connections:runRestCallAnalysis
continue-on-error: true
id: restCallAnalysis

- name: Upload analysis results
uses: actions/upload-artifact@v4
Expand All @@ -93,3 +97,21 @@ jobs:
path: |
supporting_scripts/analysis-of-endpoint-connections/endpointAnalysisResult.json
supporting_scripts/analysis-of-endpoint-connections/restCallAnalysisResult.json
- name: Check if any step failed
run: |
if [ "${{ steps.endpointAnalysis.outcome }}" != "success" ] &&
[ "${{ steps.restCallAnalysis.outcome }}" != "success" ]; then
echo "Endpoints and REST calls could not be matched."
exit 1
fi
if [ "${{ steps.endpointAnalysis.outcome }}" == "success" ] &&
[ "${{ steps.restCallAnalysis.outcome }}" != "success" ]; then
echo "REST calls could not be matched."
exit 1
fi
if [ "${{ steps.endpointAnalysis.outcome }}" != "success" ] &&
[ "${{ steps.restCallAnalysis.outcome }}" == "success" ]; then
echo "Endpoints could not be matched."
exit 1
fi
17 changes: 17 additions & 0 deletions .github/workflows/issue-labler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: "Issue Labeler"
on:
issues:
types: [opened, edited]

permissions:
issues: write
contents: read

jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: MaximilianAnzinger/[email protected]
with:
configuration-path: .github/issue-labeler.yml
repo-token: ${{ github.token }}
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.6.1.war
./artemis-server-cli deploy [email protected] -w build/libs/Artemis-7.6.2.war
```

## Architecture
Expand Down
23 changes: 12 additions & 11 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ plugins {
}

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

java {
Expand Down Expand Up @@ -243,11 +243,12 @@ dependencies {
exclude module: "jaxb-api"
}

implementation "org.gitlab4j:gitlab4j-api:6.0.0-rc.5"
implementation "org.gitlab4j:gitlab4j-api:6.0.0-rc.6"

implementation "de.jplag:jplag:${jplag_version}"

implementation "de.jplag:c:${jplag_version}"
implementation "de.jplag:cpp:${jplag_version}"
implementation "de.jplag:java:${jplag_version}"
implementation "de.jplag:javascript:${jplag_version}"
implementation "de.jplag:kotlin:${jplag_version}"
Expand All @@ -256,6 +257,7 @@ dependencies {
implementation "de.jplag:rust:${jplag_version}"
implementation "de.jplag:swift:${jplag_version}"
implementation "de.jplag:text:${jplag_version}"
implementation "de.jplag:typescript:${jplag_version}"

// those are transitive dependencies of JPlag Text --> Stanford NLP
// Note: ideally we would exclude them, but for some reason this does not work
Expand Down Expand Up @@ -329,7 +331,7 @@ dependencies {
// implementation "org.springdoc:springdoc-openapi-ui:1.8.0"

// use the latest version to avoid security vulnerabilities
implementation "org.springframework:spring-webmvc:6.1.13"
implementation "org.springframework:spring-webmvc:6.1.14"

implementation "com.vdurmont:semver4j:3.1.0"

Expand All @@ -345,7 +347,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.13.5"
implementation "io.micrometer:micrometer-registry-prometheus:1.13.6"
implementation "net.logstash.logback:logstash-logback-encoder:8.0"

// Defines low-level streaming API, and includes JSON-specific implementations
Expand Down Expand Up @@ -397,8 +399,8 @@ dependencies {
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.6"
implementation "org.springframework.data:spring-data-ldap:3.3.4"
implementation "org.springframework.ldap:spring-ldap-core:3.2.7"
implementation "org.springframework.data:spring-data-ldap:3.3.5"

implementation("org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:4.1.3") {
// NOTE: these modules contain security vulnerabilities and are not needed
Expand All @@ -409,8 +411,8 @@ dependencies {
implementation "org.springframework.cloud:spring-cloud-commons:4.1.4"

implementation "io.netty:netty-all:4.1.114.Final"
implementation "io.projectreactor.netty:reactor-netty:1.1.22"
implementation "org.springframework:spring-messaging:6.1.13"
implementation "io.projectreactor.netty:reactor-netty:1.1.23"
implementation "org.springframework:spring-messaging:6.1.14"
implementation "org.springframework.retry:spring-retry:2.0.9"

implementation "org.springframework.security:spring-security-config:${spring_security_version}"
Expand Down Expand Up @@ -440,16 +442,15 @@ dependencies {
implementation "org.bouncycastle:bcpkix-jdk18on:1.78.1"
implementation "org.bouncycastle:bcprov-jdk18on:1.78.1"

implementation "com.mysql:mysql-connector-j:9.0.0"
implementation "com.mysql:mysql-connector-j:9.1.0"
implementation "org.postgresql:postgresql:42.7.4"

implementation "org.zalando:problem-spring-web:0.29.1"
implementation "org.zalando:jackson-datatype-problem:0.27.1"
implementation "com.ibm.icu:icu4j-charset:75.1"
implementation "com.github.seancfoley:ipaddress:5.5.1"
implementation "org.apache.maven:maven-model:3.9.9"
// NOTE: 3.0.2 is broken for splitting lecture specific PDFs
implementation "org.apache.pdfbox:pdfbox:3.0.1"
implementation "org.apache.pdfbox:pdfbox:3.0.3"
implementation "org.apache.commons:commons-csv:1.12.0"
implementation "org.commonmark:commonmark:0.23.0"
implementation "commons-fileupload:commons-fileupload:1.5"
Expand Down
8 changes: 8 additions & 0 deletions docs/user/exercises/programming-exercise-features.inc
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ Instructors can still use those templates to generate programming exercises and
+----------------------+----------+---------+
| R | yes | yes |
+----------------------+----------+---------+
| C++ | yes | yes |
+----------------------+----------+---------+
| TypeScript | yes | yes |
+----------------------+----------+---------+

- Not all ``templates`` support the same feature set and supported features can also change depending on the continuous integration system setup.
Depending on the feature set, some options might not be available during the creation of the programming exercise.
Expand Down Expand Up @@ -75,6 +79,10 @@ Instructors can still use those templates to generate programming exercises and
+----------------------+----------------------+----------------------+---------------------+--------------+------------------------------------------+------------------------------+----------------------------+------------------------+
| R | no | no | yes | no | n/a | no | no | L: yes, J: no |
+----------------------+----------------------+----------------------+---------------------+--------------+------------------------------------------+------------------------------+----------------------------+------------------------+
| C++ | no | no | yes | no | n/a | no | no | L: yes, J: no |
+----------------------+----------------------+----------------------+---------------------+--------------+------------------------------------------+------------------------------+----------------------------+------------------------+
| TypeScript | no | no | yes | no | n/a | no | 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.
- *Static Code Analysis*: ``Artemis`` can generate a build plan which additionally executes static code analysis tools.
Expand Down
Loading

0 comments on commit a18c304

Please sign in to comment.