-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmake_assignment
executable file
·30 lines (23 loc) · 1.23 KB
/
make_assignment
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env bash
GITHUB_REPO='[email protected]:make-school-labs/docker-autograder.git'
REPO_NAME="docker-autograder"
# Input the assignment number:
name=$1
# File that represents the deliverable:
solution=${2:-"URL"}
# Delete previous autograders:
rm $name.zip
# Copy all files necessary for assignment.
# Make sure your deploy key is copied to `base/`.
mkdir -p zip_$name
cp -a base/* zip_$name/
cp -a tests/* zip_$name/
# Add assignment name and solution filename to run_autograder:
sed "s/REPLACE_NAME/NAME=$name/" zip_$name/run_autograder > /tmp/run_autograder && mv /tmp/run_autograder zip_$name/run_autograder
sed "s/REPLACE_SOLUTION/SOLUTION=$solution/" zip_$name/run_autograder > /tmp/run_autograder && mv /tmp/run_autograder zip_$name/run_autograder
sed "s/REPLACE_REPO_NAME/REPO_NAME=$REPO_NAME/" zip_$name/run_autograder > /tmp/run_autograder && mv /tmp/run_autograder zip_$name/run_autograder
sed "s/REPLACE_REPO_NAME/REPO_NAME=$REPO_NAME/" zip_$name/setup.sh > /tmp/setup.sh && mv /tmp/setup.sh zip_$name/setup.sh
sed "s,REPLACE_GITHUB_REPO,GITHUB_REPO=$GITHUB_REPO," zip_$name/setup.sh > /tmp/setup.sh && mv /tmp/setup.sh zip_$name/setup.sh
# Zip the assignement and delete folder:
zip -r -m -j $name.zip zip_$name/*
rm -rf zip_$name