71 lines
1.7 KiB
Bash
71 lines
1.7 KiB
Bash
#!/bin/bash
|
|
SUCCESS="\033[32m"
|
|
ERROR="\033[31m"
|
|
NC="\033[0m"
|
|
|
|
project_repository="fix"
|
|
project_directory=$(pwd)
|
|
fixFile=$1
|
|
|
|
cd ..
|
|
mkdir tmp
|
|
cd tmp
|
|
git clone https://github.com/quickfixgo/quickfix
|
|
|
|
# Get the current working directory
|
|
tmp_directory=$(pwd)
|
|
# Set the folder path dynamically
|
|
cloned_repo="$tmp_directory/quickfix"
|
|
|
|
|
|
if [ -d "$cloned_repo" ]; then
|
|
cd quickfix
|
|
|
|
last_update=$(git log -1 --format=%cd)
|
|
existing_update=$(cat "$project_directory/last_update_info.txt")
|
|
|
|
if [ "$existing_update" = "$last_update" ]; then
|
|
echo -e "${SUCCESS}The library is already updated, there are no new changes in the repository${NC}"
|
|
|
|
# delete tmp folder
|
|
rm -rf "$tmp_directory"
|
|
|
|
exit 0
|
|
fi
|
|
|
|
# replace the fix file in the project
|
|
rm spec/$fixFile
|
|
cp $project_directory/spec/$fixFile spec/$fixFile
|
|
|
|
# generate the library code
|
|
make
|
|
make generate
|
|
|
|
# rename go.mod and go.sum
|
|
mv go.mod go.mod_
|
|
mv go.sum go.sum_
|
|
|
|
# update the last update date
|
|
echo "$last_update" > $project_directory/last_update_info.txt
|
|
echo -e "${SUCCESS}Last update information has been updated in last_update_info.txt${NC}"
|
|
|
|
echo "Clearing existing contents of $project_directory/quickfix..."
|
|
rm -rf "$project_directory/quickfix"/*
|
|
|
|
echo "Copying new contents to $project_directory/quickfix..."
|
|
cp -R "$cloned_repo/"* "$project_directory/quickfix"
|
|
|
|
# delete tmp folder
|
|
rm -rf "$tmp_directory"
|
|
|
|
#replace library imports
|
|
cd $project_directory
|
|
find quickfix -type f -exec sed -i 's|github.com/quickfixgo/quickfix|quantex.com/qfixpt/quickfix|g' {} +
|
|
|
|
echo "Library Updated"
|
|
else
|
|
echo -e "${ERROR}Could not clone the repo${NC}"
|
|
# delete tmp folder
|
|
rm -rf "$tmp_directory"
|
|
exit 1
|
|
fi |