114 lines
3.2 KiB
Bash
114 lines
3.2 KiB
Bash
#!/bin/bash
|
||
#
|
||
# Start_Linux.sh
|
||
# -----------------------------------------------
|
||
# Bootstrap Borealis Virtual Python Environment
|
||
# Usage: chmod +x Start_Linux.sh && ./Start_Linux.sh
|
||
#
|
||
|
||
: '
|
||
---------------------------------------------------
|
||
SECTION 1: Script Initialization & Path Definitions
|
||
---------------------------------------------------
|
||
This section defines all necessary paths and variables to be used
|
||
throughout the script, ensuring clarity and maintainability.
|
||
'
|
||
|
||
# Define paths
|
||
venvPath="Borealis-Workflow-Automation-Tool"
|
||
dataSource="Data"
|
||
dataDestination="$venvPath/Borealis"
|
||
|
||
|
||
: '
|
||
---------------------------------------------------
|
||
SECTION 2: Virtual Environment Creation
|
||
---------------------------------------------------
|
||
In this section, we check if the virtual environment already exists
|
||
by verifying the presence of the "activate" script. If it doesn<73>t
|
||
exist, we create it.
|
||
'
|
||
|
||
if [ ! -f "$venvPath/bin/activate" ]; then
|
||
echo "Creating virtual environment '$venvPath'..."
|
||
python3 -m venv "$venvPath"
|
||
else
|
||
echo "Virtual environment '$venvPath' already exists."
|
||
fi
|
||
|
||
|
||
: '
|
||
---------------------------------------------------
|
||
SECTION 3: Copy Data Folder
|
||
---------------------------------------------------
|
||
If the "Data" folder is present, we remove any previously copied data
|
||
in the virtual environment<6E>s "Borealis" directory, create a new
|
||
"Borealis" folder, and then copy the "Data" folder into it.
|
||
'
|
||
|
||
if [ -d "$dataSource" ]; then
|
||
echo "Copying Data folder into virtual environment..."
|
||
|
||
# Remove old data if it exists
|
||
if [ -d "$dataDestination" ]; then
|
||
rm -rf "$dataDestination"
|
||
fi
|
||
|
||
# Create the Borealis directory inside the virtual environment
|
||
mkdir -p "$dataDestination"
|
||
|
||
# Copy Data into the virtual environment under Borealis
|
||
cp -r "$dataSource/"* "$dataDestination/"
|
||
else
|
||
echo "Warning: Data folder not found, skipping copy."
|
||
fi
|
||
|
||
|
||
: '
|
||
---------------------------------------------------
|
||
SECTION 4: Activate Environment & Install Dependencies
|
||
---------------------------------------------------
|
||
This section activates the newly created (or existing) virtual
|
||
environment and installs required dependencies based on the
|
||
"requirements.txt" file if it exists.
|
||
'
|
||
|
||
echo "Activating virtual environment..."
|
||
source "$venvPath/bin/activate"
|
||
|
||
if [ -f "requirements.txt" ]; then
|
||
echo "Installing dependencies..."
|
||
|
||
pip install -q -r requirements.txt
|
||
else
|
||
echo "No requirements.txt found, skipping installation."
|
||
fi
|
||
|
||
|
||
: '
|
||
---------------------------------------------------
|
||
SECTION 5: Run Main Script
|
||
---------------------------------------------------
|
||
Run the main Python script from within the copied Data folder
|
||
inside the virtual environment.
|
||
'
|
||
|
||
if [ -f "$dataDestination/borealis.py" ]; then
|
||
echo "Starting Borealis Workflow Automation Tool..."
|
||
python "$dataDestination/borealis.py"
|
||
else
|
||
echo "borealis.py not found in $dataDestination. Skipping execution."
|
||
fi
|
||
|
||
|
||
: '
|
||
---------------------------------------------------
|
||
SECTION 6: Deactivate Environment
|
||
---------------------------------------------------
|
||
After the main script completes execution, the virtual environment
|
||
is deactivated.
|
||
'
|
||
|
||
echo "Deactivating virtual environment..."
|
||
deactivate
|