Initialized

main
Thomas Smits 2025-09-16 17:08:49 +02:00
parent 9adaad06bd
commit feef1aa28e
4 changed files with 135 additions and 0 deletions

10
.gitignore vendored 100644
View File

@ -0,0 +1,10 @@
.assignments/
sources/lib/
sources/target/
out/
.project
.classpath
.metadata/
.settings
.idea/
.DS_Store

65
bin/submit.sh 100755
View File

@ -0,0 +1,65 @@
#!/usr/bin/bash
# Fail on first error
set -e
# check how we have been called
if [ ! "$0" == "bin/submit.sh" ]; then
echo -e "\e[31m"
echo "💣 Das Skript muss aus dem Hauptverzeichnis des Projektes"
echo "💣 mit bin/submit.sh aufgerufen werden."
echo -e "\e[0m"
exit 1
fi
echo "***************************************************************"
echo "Abgabe einreichen"
echo "***************************************************************"
echo ""
cd sources
# Test, if project builds
echo "------------------------------------------------------------------"
echo "Build..."
echo ""
if ! mvn; then
echo -e "\e[31m"
echo "💣 Projekt baut nicht und kann deswegen nicht abgegeben werden."
echo "💣 Bitte beheben Sie alle gemeldeten Fehler und versuchen Sie "
echo "💣 es dann erneut "
echo -e "\e[0m"
exit 1
else
echo -e "\e[32m"
echo "✅ Projekt gebaut "
echo -e "\e[0m"
fi
# Test, if all changes are committed
echo "------------------------------------------------------------------"
echo "Teste git-Staus..."
if ! git status | grep -q "nothing to commit" && ! git status | grep -q "nichts zu committen" ; then
echo -e "\e[31m"
echo "💣 Bitte checken Sie alle Änderungen per git ein. "
echo -e "\e[0m"
exit 1
else
echo -e "\e[32m"
echo "✅ Alle Dateien eingecheckt "
echo -e "\e[0m"
fi
# Submit
echo "------------------------------------------------------------------"
echo "Sende Lösung..."
if ! git push origin main; then
echo -e "\e[31m"
echo "💣 Push nicht erfolgreich. Bitte beheben Sie den Fehler und "
echo "💣 starten Sie das Skript erneut. "
echo -e "\e[0m"
exit 1
else
echo -e "\e[32m"
echo "✅ Aktuelle Lösungen eingereicht "
echo -e "\e[0m"
fi

60
bin/update.sh 100755
View File

@ -0,0 +1,60 @@
#!/usr/bin/bash
# Fail on first error
set -e
# check how we have been called
if [ ! "$0" == "bin/update.sh" ]; then
echo -e "\e[31m"
echo "💣 Das Skript muss aus dem Hauptverzeichnis des Projektes"
echo "💣 mit bin/update.sh oder bash bin/update.sh aufgerufen werden."
echo -e "\e[0m"
exit 1
fi
# Check the integrity of the .assignments directory
if [ -d ".assignments" ] && [ ! -d ".assignments/.git" ]; then
echo -e "\e[31m"
echo "Nicht korrektes .assignments-Verzeichnis. Wird gelöscht."
echo "Bitte achten Sie darauf, das .assignments-Verzeichnis nicht"
echo "einzuchecken."
echo -ne "\e[0m"
rm -rf ".assignments"
fi
# Sync exercises with local directory
echo -e "\e[32m"
echo "---------------------------------------------------------------"
echo "Hole neue Aufgaben und Quelltexte "
echo "---------------------------------------------------------------"
echo -ne "\e[0m"
rm -rf .assignments
git clone https://gitty.informatik.hs-mannheim.de/pr2-lecture/assignments.git .assignments
mkdir -p sources/src/main/java
# Copy everything new into students workspace
rsync --ignore-existing -raz .assignments/sources/ sources/
for dir in .assignments/Assignment_*; do
rsync --ignore-existing -raz "$dir" ./
done
# Assignment files
rsync --ignore-existing -raz --include='Assignment_*' --exclude='*' .assignments/* ./
# Libraries
rsync -raz .assignments/sources/lib/ ./sources/lib
# Main readme
cp .assignments/readme.md README.md
# Update scripts
cp .assignments/bin/submit.sh bin/submit.sh
if [ -f .assignments/bin/update.sh ]; then
# Remove myself
rm bin/update.sh
# Copy the new version at the old location
cp .assignments/bin/update.sh bin/update.sh
fi