v0.3 changes

This commit is contained in:
manuel.manhart committed 2024-03-29 13:01:40 +01:00
1 parent 5f802c9273
commit 51314163ea
34 files changed
+246 -244

No files matched your search

+2 -4
View File
@@ -1,14 +1,12 @@
# gt bash script 0.1
# _BASH_SCRIPT_SCRIPT_NAME_ 0.1
A helper for git functions I really miss, like merging the lastest develop / main branch into my current branch, showing what I (or someone else) has checked in over the time, etc.
TODO: Your description here
## Changelog
__0.1__
* Created the initial bash script
* Added config functions (for future use)
* Added commands pull, tag, mine, pullAndMerge
## Sources
-1
View File
@@ -1 +0,0 @@
0.1
+4
View File
@@ -0,0 +1,4 @@
# sets the version of the script
BASH_SCRIPT_COMPILER_VERSION=0.1
# optionally set the name of the compiled script (otherwise the directory name will be taken)
#BASH_SCRIPT_COMPILER_SCRIPT_NAME=bash-script-compiler
+8 -21
View File
@@ -1,28 +1,15 @@
configInit() {
if [ ! -f "${DEV_CONFIG_FILE}" ]; then
echo Could not find any config file, creating a file for you to fill in the values in ${DEV_CONFIG_FILE}
if [ ! -d "${DEV_CONFIG_FILE_PATH}" ]; then
echo "Config directory '${DEV_CONFIG_FILE_PATH}' does not exist yet, creating..."
mkdir -p ${DEV_CONFIG_FILE_PATH}
if [ ! -f "${CONFIG_FILE}" ]; then
echo Could not find any config file, creating a file for you to fill in the values in ${CONFIG_FILE}
if [ ! -d "${CONFIG_PATH}" ]; then
echo "Config directory '${CONFIG_PATH}' does not exist yet, creating..."
mkdir -p ${CONFIG_PATH}
fi
if [ -f "/IMAGE_NAME" ]; then
# || [ `whoami` = 'dev' ]; then
MODE=devcontainer
GRADLE_DEFAULT=wrapper
else
MODE=host
GRADLE_DEFAULT=normal
fi
cat <<END >${DEV_CONFIG_FILE}
# this file was created by dev script by Manuel Manhart
cat <<END >${CONFIG_FILE}
# this file was created by bash-script-compiler script _BASH_SCRIPT_COMPILER_VERSION_ by Manuel Manhart
# it is now in your hands and will not be changed by scripts anymore
MODE=$MODE
LIFERAY_DOCKER=(
"TODO" # change this to the real path
)
# TODO: Add your config values here like CONFIG_VAR_KEY="config var value"
END
fi
}
+1 -1
View File
@@ -2,7 +2,7 @@
configPrint() {
echo ""
echo "Configuration file:"
cat ${DEV_CONFIG_FILE} | while read line
cat ${CONFIG_FILE} | while read line
do
echo "$line"
done
+6 -16
View File
@@ -1,23 +1,13 @@
# reads the configuration file where the docker container names are saved
configRead() {
if [ -f "${DEV_CONFIG_FILE_PATH}/${DEV_CONFIG_FILE_NAME}" ]; then
echo found config file in ${DEV_CONFIG_FILE_PATH}/${DEV_CONFIG_FILE_NAME}
source ${DEV_CONFIG_FILE_PATH}/${DEV_CONFIG_FILE_NAME}
# Read common vars from the config file
# the incantation here ensures (by env) that only key=value pairs are present
# then declare-ing the result puts those vars in our environment
# declare $(env -i `cat ${DEV_CONFIG_FILE_PATH}/${DEV_CONFIG_FILE_NAME}` >/dev/null 2>&1) >/dev/null 2>&1
# IFS=$'\n' read -d '' -r -a LIFERAY_DOCKER < ${DEV_CONFIG_FILE_PATH}/${DEV_CONFIG_FILE_NAME}
if [ -f "${CONFIG_FILE}" ]; then
echo found config file in ${CONFIG_FILE}
source ${CONFIG_FILE}
fi
# as fallback search in script home directory
SCRIPTPATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
if [ -f "${SCRIPTPATH}/${DEV_CONFIG_FILE_NAME}" ]; then
echo found config file in ${SCRIPTPATH}/${DEV_CONFIG_FILE_NAME}
declare $(env -i `cat ${SCRIPTPATH}/${DEV_CONFIG_FILE_NAME}` >/dev/null 2>&1)
# source ${SCRIPTPATH}/${DEV_CONFIG_FILE_NAME}
# IFS=$'\n' read -d '' -r -a LIFERAY_DOCKER < ${SCRIPTPATH}/${DEV_CONFIG_FILE_NAME}
if [ -f "${SCRIPTPATH}/${CONFIG_FILE_NAME}" ]; then
echo "found config file in ${SCRIPTPATH}/${CONFIG_FILE_NAME}"
declare $(env -i `cat ${SCRIPTPATH}/${CONFIG_FILE_NAME}` >/dev/null 2>&1)
fi
}
+3
View File
@@ -0,0 +1,3 @@
demo() {
echo "$DEMO_GREETING"
}
-7
View File
@@ -1,7 +0,0 @@
gitPull() {
if [ -f ".git" ]; then
git pull
else
echo "Seems not to be a git repo"
fi
}
-17
View File
@@ -1,17 +0,0 @@
gitTag() {
if [ -n "$2" ]; then
git pull >/dev/null
local message=""
if [ -n "$3" ]; then
message="-m $3"
fi
git tag -a $2 $message
git push --tags
else
git fetch origin >/dev/null
echo "Existing tags"
git tag
echo ""
echo "If you want to create a new tag, just provide a tag version"
fi
}
+1 -5
View File
@@ -12,11 +12,7 @@ The options are:
config init ... for creating a config file (if none exists yet - automatically checked)
config print ... for printing the config file content
mine [USER] ... fetches the log of either the given user or the one defined in git config
pullAndMerge BRANCH ... pulls the given branch and merges it into the current one (updating to latest develop / main)
pull ... for pulling from git (not working?)
tag NAME [MESSAGE] ... creates and pushes a new tag
branch NAME ... creates a new branch (TODO)
demo (STRING) ... echoes a greeting or the given STRING
help ... show this page
-13
View File
@@ -1,13 +0,0 @@
mine() {
# fetch user from args
local gitUser=$GIT_USER
# Get the user defined in the local config
if [ -z "$gitUser" ]; then
gitUser=$(git config --get user.name)
echo "Fetching user from git config: $gitUser"
fi
echo "Git user: $gitUser"
# get my commits
git log --author="$gitUser"
}
+6
View File
@@ -0,0 +1,6 @@
parseArgs_demo() {
DEMO_GREETING="Welcome to our demo, $USER"
if [ -z "$1" ]; then
DEMO_GREETING="$1"
fi
}
-6
View File
@@ -1,6 +0,0 @@
parseArgs_mine() {
echo "Fetching user: $1"
if [ -n "$1" ]; then
GIT_USER=$1
fi
}
@@ -1,9 +0,0 @@
parseArgs_pullAndMerge() {
echo "Pulling and merging branch $1 into current one"
if [ -z "$1" ]; then
echo "ERROR: Argument BRANCH is missing"
help pullAndMerge
else
GIT_BRANCH=$1
fi
}
-19
View File
@@ -1,19 +0,0 @@
preset() {
# not yet working
# FIXME properties file not correctly read
# FIXME how do we set multiple values in a simple properties file
# TODO think about a better mechanism
utilIsReadPropertiesFile ./.dev-presets presetOptions presetValues
printf "presetOptions %s\n" "${presetOptions[@]}"
printf "presetValues %s\n" "${presetValues[@]}"
echo 'Please enter your choice: '
local index=0
for item in "${presetOptions[@]}"
do
echo ${index}. ${item}
index="$((index + 1))"
done
read n
echo "opt: $n"
echo "presetValue: ${presetValues[$n]}"
}
-12
View File
@@ -1,12 +0,0 @@
pullAndMerge() {
# fetch user from args
local gitBranch=$GIT_BRANCH
local currentBranch=$(git rev-parse --abbrev-ref HEAD)
echo "current branch: $currentBranch"
# Update the current branch to the latest of the given branch
git checkout $gitBranch
git pull
git checkout $currentBranch
echo DEBUG: git merge $gitBranch
}
-34
View File
@@ -1,34 +0,0 @@
runScript() {
# go to source path (if neccessary)
pushd $SOURCE_PATH >/dev/null 2>&1
local runFunctions=${@// /|}
#echo "DEBUG - runFunctions: $runFunctions"
# in the execution there are in- and dependent tasks, this file ensures that everything
# will be executed in a helpful way
if [[ "$runFunctions" = *"help"* ]]; then
help
fi
# run config functions
if [[ "$runFunctions" = *"config"* ]]; then
if [[ "$runFunctions" = *"config init"* ]]; then
configInit
elif [[ "$runFunctions" = *"config print"* ]]; then
configPrint
exit
elif [[ "$runFunctions" = *"config set"* ]]; then
echo "Setting configurations is not yet supported"
fi
fi
local parseArgsFunc="parseArgs_$ACTION"
local isParseArgsDefined=$(type -t $parseArgsFunc)
if [ "function" == "$isParseArgsDefined" ]; then
"$parseArgsFunc" "${@:2}"
fi
"$ACTION" "${@:2}"
# return to initial path (if neccessary)
popd >/dev/null 2>&1
}
-7
View File
@@ -1,7 +0,0 @@
utilIsExistingFile() {
if ls $1 1> /dev/null 2>&1; then
return 0
else
return 1
fi
}
@@ -1,21 +0,0 @@
utilIsReadPropertiesFile() {
local fileName=$1
local keysName=$2
local valuesName=$3
local keys=()
local values=()
echo "reading properties file $1 into $2 and $3"
if [ -n "$fileName" ]; then
while IFS='=' read -r key value
do
key=$(echo $key | tr '.' '_')
keys+=("$key")
values+=("$value")
# eval ${key}=\${value}
done < "$fileName"
fi
echo "keys: $keys"
echo "values: $values"
eval $keysName="'$keys'"
eval $valuesName="'$values'"
}
+2 -3
View File
@@ -11,10 +11,9 @@
# Created by bash-script-compiler version BASH_SCRIPT_COMPILER_VERSION
# set default constants / variables
VERSION="0.1"
VERSION="_BASH_SCRIPT_COMPILER_VERSION_"
# define your global variables here
CONFIG_FILE_NAME=BASH_SCRIPT_COMPILER_SCRIPT_NAME.config
CONFIG_FILE_NAME=_BASH_SCRIPT_COMPILER_SCRIPT_NAME_.config
CONFIG_PATH=${HOME}/.config/mmit
CONFIG_FILE=${CONFIG_PATH}/${CONFIG_FILE_NAME}
ACTION=${1:-"help"}
+12 -4
View File
@@ -1,12 +1,20 @@
# main
# import colors
# if there is a import colors script source it
if [ -f ${BASH_SOURCE%/*}/define-colors ]; then
. ${BASH_SOURCE%/*}/define-colors ""
fi
# read configuration (if any)
configRead
# set the action to the first parameter (if your script runs without, just remove these lines)
local action=${1:-"help"}
local parseArgsFunc="${PARSE_ARGS_PREFIX}${action}"
# if there is a parseArgs_ARG1, call it
local isParseArgsDefined=$(type -t $parseArgsFunc)
if [ "function" == "$isParseArgsDefined" ]; then
"$parseArgsFunc" "${@:2}"
fi
# parse the arguments
parseArgs "$@"
# run the script
runScript "$@"
configRead
# run the script (by default calls the function given in the first arg)
"$action" "${@:2}"