-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
executable file
·48 lines (43 loc) · 1.21 KB
/
setup.sh
File metadata and controls
executable file
·48 lines (43 loc) · 1.21 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
echo "Setting up the pipeline repository..."
# List available modules
echo "Available modules:"
for module in modules/*; do
if [ -d "$module" ]; then
echo "- $(basename "$module")"
fi
done
# Function to install a module
install_module() {
local module=$1
if [ -d "modules/$module" ]; then
echo "[INFO] Installing $module..."
bash "modules/$module/install.sh"
else
echo "[ERROR] Module $module not found!"
fi
}
# Check if modules are passed as arguments
if [ $# -gt 0 ]; then
echo "[INFO] Installing specified modules: $@"
for module in "$@"; do
install_module "$module"
done
else
# Prompt user for installation if no modules are passed
read -p "Do you want to install all modules? (y/n): " choice
if [ "$choice" == "y" ]; then
for module in modules/*; do
if [ -d "$module" ]; then
install_module "$(basename "$module")"
fi
done
else
echo "Enter module names to install (space-separated):"
read -a modules_to_install
for module in "${modules_to_install[@]}"; do
install_module "$module"
done
fi
fi
echo "Pipeline setup completed."