Skip to content

Commit a8bc762

Browse files
committed
Refactor SF_docs_deployer scripts
- Simplify and consolidate logic - Introduce deploy_file function for reusability
1 parent b13a9f8 commit a8bc762

File tree

1 file changed

+72
-54
lines changed

1 file changed

+72
-54
lines changed

utils/SF_docs_deployer

+72-54
Original file line numberDiff line numberDiff line change
@@ -70,67 +70,85 @@ fi
7070

7171
echo "Doing $TOOLCHAIN with Folder: $FOLDER_TYPE, RASPBERRY: $RPI_TYPE AND OS: $RPIOS_TYPE!"
7272

73-
# deploy root folder docs
73+
# deploy docs
7474
BASE_URL="sftp://frs.sourceforge.net/home/pfs/project/raspberry-pi-cross-compilers"
75-
FILEPATH=""
7675

77-
set_folder_and_filepath() {
78-
case "$FOLDER_TYPE" in
79-
"root")
80-
FOLDER=""
81-
FILEPATH="$HOME/root/README.md"
76+
deploy_file() {
77+
local FOLDER="$1"
78+
local FILEPATH="$2"
79+
80+
URL="$BASE_URL/$FOLDER/"
81+
URL=$(printf "%s\n" "$URL" | sed 's/ /%20/g')
82+
83+
if [ -f "$FILEPATH" ]; then
84+
curl -k "$URL" -u "$USER_SFTP":"$PASSWORD_SFTP" -T "$FILEPATH" --ftp-create-dirs
85+
else
86+
echo "Error: File not found at $FILEPATH"
87+
exit 1
88+
fi
89+
}
90+
91+
# deploy root folder docs
92+
if [ "$FOLDER_TYPE" = "root" ]; then
93+
deploy_file "" "$HOME/root/README.md"
94+
exit 0
95+
fi
96+
97+
if [ "$FOLDER_TYPE" = "base" ]; then
98+
case "$TOOLCHAIN" in
99+
"CLI")
100+
deploy_file "CLI Base" "$HOME/base/README.md"
101+
;;
102+
"cross_64"|"native_64")
103+
deploy_file "Bonus Raspberry Pi GCC 64-Bit Toolchains" "$HOME/base/README.md"
82104
;;
83-
"base")
84-
case "$TOOLCHAIN" in
85-
"CLI") FOLDER="CLI Base" ;;
86-
"cross_64"|"native_64") FOLDER="Bonus Raspberry Pi GCC 64-Bit Toolchains" ;;
87-
"cross") FOLDER="Raspberry Pi GCC Cross-Compiler Toolchains" ;;
88-
"native") FOLDER="Raspberry Pi GCC Native-Compiler Toolchains" ;;
89-
*) echo "Error: Invalid Raspberry Compiler Type!"; exit 1 ;;
90-
esac
91-
FILEPATH="$HOME/base/README.md"
105+
"cross")
106+
deploy_file "Raspberry Pi GCC Cross-Compiler Toolchains" "$HOME/base/README.md"
92107
;;
93-
"main")
94-
case "$TOOLCHAIN" in
95-
"cross"|"native")
96-
FOLDER="Raspberry Pi GCC ${TOOLCHAIN^}-Compiler Toolchains/${RPIOS_TYPE^}"
97-
;;
98-
"cross_64"|"native_64")
99-
FOLDER="Bonus Raspberry Pi GCC 64-Bit Toolchains/Raspberry Pi GCC 64-Bit ${TOOLCHAIN%-64^}-Compiler Toolchains/${RPIOS_TYPE^}"
100-
;;
101-
*) echo "Error: Invalid Main toolchain!"; exit 1 ;;
102-
esac
103-
FILEPATH="$HOME/main/README.md"
108+
"native")
109+
deploy_file "Raspberry Pi GCC Native-Compiler Toolchains" "$HOME/base/README.md"
104110
;;
105-
"experimental")
106-
if [[ "$RPI_TYPE" =~ ^("x86"|"x86_64")$ ]]; then
107-
FOLDER="Exclusive-Experimental Toolchains/Desktop/$RPI_TYPE"
108-
FILEPATH="$HOME/experiment/README.md"
109-
elif [ -f "$HOME/main/README.md" ]; then
110-
FOLDER="Exclusive-Experimental Toolchains/Desktop"
111-
FILEPATH="$HOME/main/README.md"
112-
elif [ -f "$HOME/base/README.md" ]; then
113-
FOLDER="Exclusive-Experimental Toolchains"
114-
FILEPATH="$HOME/base/README.md"
115-
else
116-
echo "Warning: No Experimental docs found!"
117-
exit 1
118-
fi
111+
*)
112+
echo "Error: Invalid Raspberry Compiler Type!"
113+
exit 1
119114
;;
120-
*) echo "Error: Wrong folder!"; exit 1 ;;
121115
esac
122-
}
123-
124-
set_folder_and_filepath
125-
126-
if [ ! -f "$FILEPATH" ]; then
127-
echo "Error: No valid docs found at $FILEPATH!"
128-
exit 1
116+
exit 0
129117
fi
130118

131-
URL="$BASE_URL/$FOLDER/"
132-
URL=$(printf "%s\n" "$URL" | sed 's/ /%20/g')
133-
134-
curl -k "$URL" -u "$USER_SFTP":"$PASSWORD_SFTP" -T "$FILEPATH" --ftp-create-dirs
119+
# deploy Toolchain specific folder docs
120+
if [ "$FOLDER_TYPE" = "main" ]; then
121+
case "$TOOLCHAIN" in
122+
"cross")
123+
FOLDER="Raspberry Pi GCC Cross-Compiler Toolchains/$RPIOS_TYPE"
124+
;;
125+
"native")
126+
FOLDER="Raspberry Pi GCC Native-Compiler Toolchains/$RPIOS_TYPE"
127+
;;
128+
"cross_64")
129+
FOLDER="Bonus Raspberry Pi GCC 64-Bit Toolchains/Raspberry Pi GCC 64-Bit Cross-Compiler Toolchains/$RPIOS_TYPE"
130+
;;
131+
"native_64")
132+
FOLDER="Bonus Raspberry Pi GCC 64-Bit Toolchains/Raspberry Pi GCC 64-Bit Native-Compiler Toolchains/$RPIOS_TYPE"
133+
;;
134+
*)
135+
echo "Error: Invalid Main toolchain!"
136+
exit 1
137+
;;
138+
esac
139+
deploy_file "$FOLDER" "$HOME/main/README.md"
140+
exit 0
141+
fi
135142

136-
exit 0
143+
# deploy experimental docs
144+
if [ "$FOLDER_TYPE" = "experimental" ]; then
145+
if [[ "$RPI_TYPE" =~ ^("x86"|"x86_64")$ ]]; then
146+
deploy_file "Exclusive-Experimental Toolchains/Desktop/$RPI_TYPE" "$HOME/experiment/README.md"
147+
elif [ -f "$HOME/main/README.md" ]; then
148+
deploy_file "Exclusive-Experimental Toolchains/Desktop" "$HOME/main/README.md"
149+
elif [ -f "$HOME/base/README.md" ]; then
150+
deploy_file "Exclusive-Experimental Toolchains" "$HOME/base/README.md"
151+
else
152+
echo "Warning: No Experimental docs found!"
153+
exit 1
154+
fi

0 commit comments

Comments
 (0)