add solutions
This commit is contained in:
331
zz-solutions/02-SplineInterpolator/Scripts/deployScripts.bash
Normal file
331
zz-solutions/02-SplineInterpolator/Scripts/deployScripts.bash
Normal file
@@ -0,0 +1,331 @@
|
||||
#!/bin/bash
|
||||
|
||||
#================================================================================
|
||||
# deployScripts.bash - updates github repos for individual labos
|
||||
# indend to push scripts from [DiD-scripts](https://gitlab.hevs.ch/course/did/did-scripts.git)
|
||||
# Example usage 1: ./Scripts/deployScripts.bash -v -p synd-did-labs -r https://github.com/hei-synd-did/did-labs.git
|
||||
# Example usage 2: ./Scripts/deployScripts.bash -v -p ete-did-labs -r https://github.com/hei-ete-did/did-labs.git
|
||||
# Example usage 3: ./Scripts/deployScripts.bash -v -p isc-did-labs -r https://github.com/hei-isc-did/did-labs.git
|
||||
# Example usage 4: ./Scripts/deployScripts.bash -v -p did-chrono -r https://github.com/hei-synd-did/did-chrono.git
|
||||
# Example usage 5: ./Scripts/deployScripts.bash -v -p did-cursor -r https://github.com/hei-synd-did/did-cursor.git
|
||||
# Example usage 6: ./Scripts/deployScripts.bash -v -p did-inverter -r https://github.com/hei-ete-did/did-inverter.git
|
||||
# Example usage 7: ./Scripts/deployScripts.bash -v -p did-synchro -r https://github.com/hei-ete-did/did-synchro.git
|
||||
# Example usage 8: ./Scripts/deployScripts.bash -v -p did-kart-ebs3 -r https://github.com/hei-synd-did/did-kart-ebs3.git
|
||||
# Example usage 9: ./Scripts/deployScripts.bash -v -p did-display -r https://github.com/hei-isc-did/did-display.git
|
||||
# Example usage 10: ./Scripts/deployScripts.bash -v -p sem-labs -r https://github.com/hei-synd-sem/sem-labs.git
|
||||
# Example usage 11: ./Scripts/deployScripts.bash -v -p car-labs -r https://github.com/hei-isc-car/car-labs.git -d heirv32_sc
|
||||
# Example usage 12: ./Scripts/deployScripts.bash -v -p car-heirv -r https://github.com/hei-isc-car/car-heirv.git
|
||||
|
||||
base_directory="$(dirname "$(readlink -f "$0")")"
|
||||
pushd $base_directory
|
||||
base_directory="$base_directory"
|
||||
|
||||
SEPARATOR='--------------------------------------------------------------------------------'
|
||||
INDENT=' '
|
||||
DATE=`date '+%Y-%m-%d %H:%M:%S'`
|
||||
|
||||
echo "$SEPARATOR"
|
||||
echo "-- ${0##*/} Started!"
|
||||
echo ""
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Parse command line options
|
||||
#
|
||||
project='did-labs'
|
||||
repo='https://github.com/hei-synd-did/did-labs.git'
|
||||
destdir=''
|
||||
|
||||
usage='Usage: deployScripts.bash [-p projectName] [-r repourl] [-d destdir] [-v] [-h]'
|
||||
while getopts 'p:r:d:vh' options; do
|
||||
case $options in
|
||||
p ) project=$OPTARG;;
|
||||
r ) repo=$OPTARG;;
|
||||
d ) destdir=$OPTARG;;
|
||||
v ) verbose=1;;
|
||||
h ) echo -e $usage
|
||||
exit 1;;
|
||||
* ) echo -e $usage
|
||||
exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Display info
|
||||
#
|
||||
if [ -n "$verbose" ] ; then
|
||||
echo "$SEPARATOR"
|
||||
echo "-- $DATE: Deploy Scripts for Students"
|
||||
echo "${INDENT}for $project"
|
||||
echo "${INDENT}to $repo"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Clone student repo
|
||||
#
|
||||
# Create a tmp subdirectory if it doesn't exist
|
||||
echo "Create tmp folder"
|
||||
mkdir -p tmp
|
||||
cd tmp
|
||||
|
||||
# Get repo
|
||||
echo "Clone student repo $project"
|
||||
# Add login and access token to url
|
||||
repo_access=$(echo $repo | sed 's/https\?:\/\///')
|
||||
github_username=tschinz
|
||||
github_accesstoken=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
|
||||
repo_access="https://$github_username:$github_accesstoken@${repo_access}"
|
||||
git clone $repo_access
|
||||
if [ "$project" == "synd-did-labs" ]; then
|
||||
cd did-labs
|
||||
elif [ "$project" == "ete-did-labs" ]; then
|
||||
cd did-labs
|
||||
elif [ "$project" == "isc-did-labs" ]; then
|
||||
cd did-labs
|
||||
else
|
||||
cd $project
|
||||
fi
|
||||
|
||||
library_source=`realpath "./../.."`
|
||||
|
||||
# DiD Kart (EBS2 version) has a different project structure
|
||||
if [ "$project" == "did-kart-ebs2" ]; then
|
||||
# Copy needed libraries per project
|
||||
mkdir -p "01-StepperMotor/Scripts"
|
||||
library_dest=`realpath "./01-StepperMotor/Scripts"`
|
||||
echo "Update files in student repo $project"
|
||||
echo " Copy scripts for Windows"
|
||||
cp -arf "$library_source/hdlDesigner.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanScratch.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/searchPaths.bat" "$library_dest/"
|
||||
echo " Copy scripts for Linux"
|
||||
cp -arf "$library_source/hdlDesigner.bash" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/generateSSHKey.bash" "$library_dest/"
|
||||
echo " Copy perl scripts for HDL Designer"
|
||||
cp -arf "$library_source/trimLibs.pl" "$library_dest/"
|
||||
cp -arf "$library_source/update_libero.pl" "$library_dest/"
|
||||
cp -arf "$library_source/start_libero.pl" "$library_dest/"
|
||||
|
||||
|
||||
# Copy needed libraries per project
|
||||
mkdir -p "02-DcMotor/Scripts"
|
||||
library_dest=`realpath "./02-DcMotor/Scripts"`
|
||||
echo " Copy scripts for Windows"
|
||||
cp -arf "$library_source/hdlDesigner.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanScratch.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/searchPaths.bat" "$library_dest/"
|
||||
echo " Copy scripts for Linux"
|
||||
cp -arf "$library_source/hdlDesigner.bash" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/generateSSHKey.bash" "$library_dest/"
|
||||
echo " Copy perl scripts for HDL Designer"
|
||||
cp -arf "$library_source/trimLibs.pl" "$library_dest/"
|
||||
cp -arf "$library_source/update_libero.pl" "$library_dest/"
|
||||
cp -arf "$library_source/start_libero.pl" "$library_dest/"
|
||||
|
||||
# Copy needed libraries per project
|
||||
mkdir -p "03-Sensors/Scripts"
|
||||
library_dest=`realpath "./03-Sensors/Scripts"`
|
||||
echo " Copy scripts for Windows"
|
||||
cp -arf "$library_source/hdlDesigner.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanScratch.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/searchPaths.bat" "$library_dest/"
|
||||
echo " Copy scripts for Linux"
|
||||
cp -arf "$library_source/hdlDesigner.bash" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/generateSSHKey.bash" "$library_dest/"
|
||||
echo " Copy perl scripts for HDL Designer"
|
||||
cp -arf "$library_source/trimLibs.pl" "$library_dest/"
|
||||
cp -arf "$library_source/update_libero.pl" "$library_dest/"
|
||||
cp -arf "$library_source/start_libero.pl" "$library_dest/"
|
||||
|
||||
# Copy needed libraries per project
|
||||
mkdir -p "04-Controller/Scripts"
|
||||
library_dest=`realpath "./04-Controller/Scripts"`
|
||||
echo " Copy scripts for Windows"
|
||||
cp -arf "$library_source/hdlDesigner.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanScratch.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/searchPaths.bat" "$library_dest/"
|
||||
echo " Copy scripts for Linux"
|
||||
cp -arf "$library_source/hdlDesigner.bash" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/generateSSHKey.bash" "$library_dest/"
|
||||
echo " Copy perl scripts for HDL Designer"
|
||||
cp -arf "$library_source/trimLibs.pl" "$library_dest/"
|
||||
cp -arf "$library_source/update_libero.pl" "$library_dest/"
|
||||
cp -arf "$library_source/start_libero.pl" "$library_dest/"
|
||||
|
||||
|
||||
# SEm Labs has also a different project structure
|
||||
elif [ "$project" == "sem-labs" ]; then
|
||||
# Copy needed libraries per project
|
||||
mkdir -p "01-WaveformGenerator/Scripts"
|
||||
library_dest=`realpath "./01-WaveformGenerator/Scripts"`
|
||||
echo "Update files in student repo $project"
|
||||
echo " Copy scripts for Windows"
|
||||
cp -arf "$library_source/hdlDesigner.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanScratch.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bat" "$library_dest/"
|
||||
cp -arf "$library_source/searchPaths.bat" "$library_dest/"
|
||||
echo " Copy scripts for Linux"
|
||||
cp -arf "$library_source/hdlDesigner.bash" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/generateSSHKey.bash" "$library_dest/"
|
||||
echo " Copy perl scripts for HDL Designer"
|
||||
cp -arf "$library_source/trimLibs.pl" "$library_dest/"
|
||||
cp -arf "$library_source/update_ise.pl" "$library_dest/"
|
||||
|
||||
mkdir -p "02-SplineInterpolator/Scripts"
|
||||
library_dest=`realpath "./02-SplineInterpolator/Scripts"`
|
||||
echo "Update files in student repo $project"
|
||||
echo " Copy scripts for Windows"
|
||||
cp -arf "$library_source/hdlDesigner.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanScratch.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bat" "$library_dest/"
|
||||
cp -arf "$library_source/searchPaths.bat" "$library_dest/"
|
||||
echo " Copy scripts for Linux"
|
||||
cp -arf "$library_source/hdlDesigner.bash" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/generateSSHKey.bash" "$library_dest/"
|
||||
echo " Copy perl scripts for HDL Designer"
|
||||
cp -arf "$library_source/trimLibs.pl" "$library_dest/"
|
||||
cp -arf "$library_source/update_ise.pl" "$library_dest/"
|
||||
|
||||
mkdir -p "03-DigitalToAnalogConverter/Scripts"
|
||||
library_dest=`realpath "./03-DigitalToAnalogConverter/Scripts"`
|
||||
echo "Update files in student repo $project"
|
||||
echo " Copy scripts for Windows"
|
||||
cp -arf "$library_source/hdlDesigner.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanScratch.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bat" "$library_dest/"
|
||||
cp -arf "$library_source/searchPaths.bat" "$library_dest/"
|
||||
echo " Copy scripts for Linux"
|
||||
cp -arf "$library_source/hdlDesigner.bash" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/generateSSHKey.bash" "$library_dest/"
|
||||
echo " Copy perl scripts for HDL Designer"
|
||||
cp -arf "$library_source/trimLibs.pl" "$library_dest/"
|
||||
cp -arf "$library_source/update_ise.pl" "$library_dest/"
|
||||
|
||||
mkdir -p "04-Lissajous/Scripts"
|
||||
library_dest=`realpath "./04-Lissajous/Scripts"`
|
||||
echo "Update files in student repo $project"
|
||||
echo " Copy scripts for Windows"
|
||||
cp -arf "$library_source/hdlDesigner.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanScratch.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bat" "$library_dest/"
|
||||
cp -arf "$library_source/searchPaths.bat" "$library_dest/"
|
||||
echo " Copy scripts for Linux"
|
||||
cp -arf "$library_source/hdlDesigner.bash" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/generateSSHKey.bash" "$library_dest/"
|
||||
echo " Copy perl scripts for HDL Designer"
|
||||
cp -arf "$library_source/trimLibs.pl" "$library_dest/"
|
||||
cp -arf "$library_source/update_ise.pl" "$library_dest/"
|
||||
|
||||
mkdir -p "05-Morse/Scripts"
|
||||
library_dest=`realpath "./05-Morse/Scripts"`
|
||||
echo "Update files in student repo $project"
|
||||
echo " Copy scripts for Windows"
|
||||
cp -arf "$library_source/hdlDesigner.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanScratch.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bat" "$library_dest/"
|
||||
cp -arf "$library_source/searchPaths.bat" "$library_dest/"
|
||||
echo " Copy scripts for Linux"
|
||||
cp -arf "$library_source/hdlDesigner.bash" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/generateSSHKey.bash" "$library_dest/"
|
||||
echo " Copy perl scripts for HDL Designer"
|
||||
cp -arf "$library_source/trimLibs.pl" "$library_dest/"
|
||||
cp -arf "$library_source/update_ise.pl" "$library_dest/"
|
||||
|
||||
mkdir -p "06-07-08-09-SystemOnChip/Scripts"
|
||||
library_dest=`realpath "./06-07-08-09-SystemOnChip/Scripts"`
|
||||
echo "Update files in student repo $project"
|
||||
echo " Copy scripts for Windows"
|
||||
cp -arf "$library_source/hdlDesigner.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanScratch.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bat" "$library_dest/"
|
||||
cp -arf "$library_source/searchPaths.bat" "$library_dest/"
|
||||
echo " Copy scripts for Linux"
|
||||
cp -arf "$library_source/hdlDesigner.bash" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/generateSSHKey.bash" "$library_dest/"
|
||||
echo " Copy perl scripts for HDL Designer"
|
||||
cp -arf "$library_source/trimLibs.pl" "$library_dest/"
|
||||
cp -arf "$library_source/update_ise.pl" "$library_dest/"
|
||||
|
||||
mkdir -p "10-PipelinedOperators/Scripts"
|
||||
library_dest=`realpath "./10-PipelinedOperators/Scripts"`
|
||||
echo "Update files in student repo $project"
|
||||
echo " Copy scripts for Windows"
|
||||
cp -arf "$library_source/hdlDesigner.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanScratch.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bat" "$library_dest/"
|
||||
cp -arf "$library_source/searchPaths.bat" "$library_dest/"
|
||||
echo " Copy scripts for Linux"
|
||||
cp -arf "$library_source/hdlDesigner.bash" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/generateSSHKey.bash" "$library_dest/"
|
||||
echo " Copy perl scripts for HDL Designer"
|
||||
cp -arf "$library_source/trimLibs.pl" "$library_dest/"
|
||||
cp -arf "$library_source/update_ise.pl" "$library_dest/"
|
||||
|
||||
else
|
||||
|
||||
if [ -n "$destdir" ]; then
|
||||
mkdir -p "$destdir/Scripts"
|
||||
library_dest=`realpath "$destdir/Scripts"`
|
||||
else
|
||||
mkdir -p "Scripts"
|
||||
library_dest=`realpath "./Scripts"`
|
||||
fi
|
||||
|
||||
# Copy needed libraries per project
|
||||
echo "Update files in student repo $project"
|
||||
echo " Copy scripts for Windows"
|
||||
cp -arf "$library_source/hdlDesigner.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanScratch.bat" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bat" "$library_dest/"
|
||||
cp -arf "$library_source/searchPaths.bat" "$library_dest/"
|
||||
echo " Copy scripts for Linux"
|
||||
cp -arf "$library_source/hdlDesigner.bash" "$library_dest/"
|
||||
cp -arf "$library_source/cleanGenerated.bash" "$library_dest/"
|
||||
cp -arf "$library_source/generateSSHKey.bash" "$library_dest/"
|
||||
echo " Copy perl scripts for HDL Designer"
|
||||
cp -arf "$library_source/trimLibs.pl" "$library_dest/"
|
||||
cp -arf "$library_source/update_ise.pl" "$library_dest/"
|
||||
cp -arf "$library_source/update_libero.pl" "$library_dest/"
|
||||
cp -arf "$library_source/update_diamond.pl" "$library_dest/"
|
||||
cp -arf "$library_source/start_libero.pl" "$library_dest/"
|
||||
cp -arf "$library_source/start_diamond.pl" "$library_dest/"
|
||||
fi
|
||||
|
||||
# add/commit/push changes to student repo
|
||||
echo " Git: Add => Commit => Push"
|
||||
git add -A
|
||||
git commit -a -m "$DATE: Automatic Scripts Update with ``deployScripts.bash`` :shipit:"
|
||||
git push origin main
|
||||
cd ..
|
||||
|
||||
# Delete tmp directory
|
||||
cd ..
|
||||
echo " Delete tmp directory"
|
||||
rm -rf "./tmp"
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Exit
|
||||
#s
|
||||
echo ""
|
||||
echo "-- $DATE: $project updated at $repo"
|
||||
echo "$SEPARATOR"
|
||||
popd
|
||||
Reference in New Issue
Block a user