From 25a29caf5b46e80d4d123164eb9136f8a2773865 Mon Sep 17 00:00:00 2001 From: Flo Date: Sat, 21 Dec 2024 02:03:07 +0100 Subject: [PATCH] __devenv --- bin/dexec | 72 ------------------------------------------- init | 2 ++ script/foreachSystem | 7 ++++- script/update_profile | 12 +++++--- up | 5 +-- 5 files changed, 16 insertions(+), 82 deletions(-) delete mode 100644 bin/dexec diff --git a/bin/dexec b/bin/dexec deleted file mode 100644 index 6f54b8d..0000000 --- a/bin/dexec +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash - -denvexec() { - if [ $# -lt 1 ]; then - echo "Verwendung: denvexec " - return 1 - fi - - local DOCKER_COMMAND="$@" - local ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd ) - - echo "" - echo "Directory: ${ENV_DIR}" - - #MAC - if [[ "$OSTYPE" == "darwin"* ]]; then - docker compose -f "${ENV_DIR}/docker/docker-compose-mac.yml" $DOCKER_COMMAND - echo "done" - - #LINUX - elif [[ "$OSTYPE" == "linux-gnu" ]]; then - docker compose -f "${ENV_DIR}/docker/docker-compose.yml" $DOCKER_COMMAND - echo "done" - else - echo "Dieses Skript wird auf deinem Gerät nicht unterstützt" - exit 1 - fi -} - -dexec() { - if [ $# -lt 2 ]; then - echo "Verwendung: dexec " - return 1 - fi - - local systemPart="${1%-*}" # before "-" e.g. auth / bee / etc - local typePart="${1##*-}" # after "-" e.g. backend / frontend - local SYSTEM_DIR="$typePart/$systemPart" - shift # removes first argument - local DOCKER_COMMAND="$@" - local ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd ) - - echo "" - echo "Directory: ${ENV_DIR}/systems/${SYSTEM_DIR}" - - local DOT_ENV_PATH="${ENV_DIR}/systems/${SYSTEM_DIR}/.env" - - #SET ENV VARIABLES FROM .ENV - if [ -e "$DOT_ENV_PATH" ]; then - export $(grep -v '^#' "$DOT_ENV_PATH" | xargs) - fi - - #MAC - if [[ "$OSTYPE" == "darwin"* ]]; then - docker compose -f "${ENV_DIR}/systems/${SYSTEM_DIR}/docker/docker-compose-mac.yml" $DOCKER_COMMAND - echo "done" - - #LINUX - elif [[ "$OSTYPE" == "linux-gnu" ]]; then - docker compose -f "${ENV_DIR}/systems/${SYSTEM_DIR}/docker/docker-compose.yml" $DOCKER_COMMAND - echo "done" - - else - echo "Dieses Skript wird auf deinem Gerät nicht unterstützt" - exit 1 - fi - - #UNSET ENV VARIABLES FROM .ENV - if [ -e "$DOT_ENV_PATH" ]; then - unset $(grep -v '^#' "$DOT_ENV_PATH" | sed -E 's/(.*)=.*/\1/' | xargs) - fi -} \ No newline at end of file diff --git a/init b/init index 06333ed..59d3926 100755 --- a/init +++ b/init @@ -9,9 +9,11 @@ fi # Update .profile $ENV_DIR/script/update_profile +echo "" # Clone all systems. $ENV_DIR/script/clone +echo "" # Run init for all systems ./script/foreachSystem init diff --git a/script/foreachSystem b/script/foreachSystem index d0602bf..9eb047c 100755 --- a/script/foreachSystem +++ b/script/foreachSystem @@ -11,6 +11,8 @@ if [ ! -f "$CONFIG_FILE" ]; then exit 1 fi +denv_info_msg "[dev-env]: Execute $COMMAND foreach System" + # Iterate through all lines in .systems configuration while IFS=' ' read -r IDENTIFIER DIRECTORY GIT; do # Skip comments and emtpy lines @@ -27,7 +29,10 @@ while IFS=' ' read -r IDENTIFIER DIRECTORY GIT; do denv_error_msg "$COMMAND_PATH not found." exit 1 else - denv_echo_msg "Executing $COMMAND_PATH..." + denv_echo_msg "Executing $COMMAND..." $COMMAND_PATH fi + denv_info_msg "System $IDENTIFIER done" + echo "" + done < "$CONFIG_FILE" diff --git a/script/update_profile b/script/update_profile index 7c4d5ea..817633c 100755 --- a/script/update_profile +++ b/script/update_profile @@ -1,6 +1,8 @@ #!/bin/bash ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd ) +source $ENV_DIR/bin/denv_msg + PROFILE_FILE="$HOME/.profile" TEMPLATE_FILE="$ENV_DIR/.profile" @@ -10,25 +12,25 @@ END_MARKER="#DEV ENV SETUP END" # Check if template file exists if [ ! -f "$TEMPLATE_FILE" ]; then - echo "[DEV-ENV]: Template file '$TEMPLATE_FILE' does not exist. Skip updating .profile." + denv_error_msg "[dev-env]: Template file '$TEMPLATE_FILE' does not exist. Skip updating .profile." exit 1 fi TEMPLATE_CONTENT=$(<"$TEMPLATE_FILE") -echo "[DEV-ENV]: Update $PROFILE_FILE" +denv_info_msg "[dev-env]: Update $PROFILE_FILE" # Check if start marker already exists in profile file if grep -q "$START_MARKER" "$PROFILE_FILE"; then - echo "[DEV-ENV]: Section already exists. Update contents..." + denv_echo_msg "[dev-env]: Section already exists. Update contents..." # Remove contents between start and end marker sed -i "/$START_MARKER/,/$END_MARKER/d" "$PROFILE_FILE" else - echo "[DEV-ENV]: Section does not exists. Adding contents..." + denv_echo_msg "[dev-env]: Section does not exists. Adding contents..." fi # Add contents echo -e "\n$START_MARKER\n$TEMPLATE_CONTENT\n$END_MARKER" >> "$PROFILE_FILE" -echo "[DEV-ENV]: Successfully updated $PROFILE_FILE" +denv_success_msg "[dev-env]: Successfully updated $PROFILE_FILE" diff --git a/up b/up index a206eaf..a03fcb6 100755 --- a/up +++ b/up @@ -1,10 +1,7 @@ #!/bin/bash SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) - -source $SCRIPT_DIR/bin/denv -source $SCRIPT_DIR/bin/dexec source $SCRIPT_DIR/bin/drun -denvexec up -d +docker compose -f "$SCRIPT_DIR/docker/docker-compose.yml" up -d $SCRIPT_DIR/bin/script/foreachSystem up -d