#!/usr/bin/env bash source $AK_LIBDIR/_ak_log # Wanna talk about it? _ak_new_line(){ printf '\n' } _ak_exit_program(){ # Needs rework: # cd $curdir # if [ "$3" == "save_log" ] # then # tar cvfz $curdir/$(basename $tempdir)-$launch_timestamp.tgz $tempdir # fi # rm -rf $tempdir if [ $1 -ne 0 ] then _ak_log_error "$2 ($1)" else _ak_log_exit "$2" fi exit $1 } _ak_help(){ if [ ! -z $fullprogrampath ] && [ -n "$fullprogrampath" ] then cat $fullprogrampath |grep '^##'| sed 's/^##//g;s/^ //g' 1>&2 exit 1 else _ak_log_error "fullprogrampath was not set" exit 1 fi } _ak_title_description(){ if [ ! -n "$descriptionString" ] then # Choose to exit with error to enforce standard _ak_log_error "No description string" exit 1 # Alternative solution # full_title="$(printf '%s' "$PROGRAM")" fi full_title="$(printf '%s - %s' "$PROGRAM" "$descriptionString")" delimiter_count=`echo -n $full_title | wc -c` ( printf '%s' "$full_title" _ak_new_line while [ $delimiter_count -gt 0 ] do printf '=' delimiter_count=$(($delimiter_count-1)) done _ak_new_line ) 1>&2 } _ak_usage(){ _ak_title_description _ak_help 2>&1 } _ak_print_version(){ git_repo="$(ls -l $AK_LIBDIR/_ak_script | cut -d '>' -f 2 | sed 's/^ //' | rev | cut -d '/' -f 3- | rev)" patch_version="$(git --git-dir="${git_repo}/.git" -P log --reverse --oneline --decorate | tail -n 1 | cut -d ' ' -f 1)" gtags="$(git --git-dir="${git_repo}/.git" -P tag | tail -n 1)" if [ -f "$AK_WORKDIR/version" ] then cat $AK_WORKDIR/version elif [ -n "${gtags}" ] then echo "${gtags}" else echo "v0.0.0-${patch_version}" fi } _ak_version(){ printf '%s - ' "$PROGRAM" _ak_print_version 2>&1 } _ak_not_implemented(){ #_ak_title_description _ak_log_error "Not implemented: $*" } _ak_make_temp_directory(){ AK_TEMP="$(mktemp -d /tmp/aktmp-XXXXXXX)" if [ ! -d "$AK_TEMP" ] then _ak_log_error "Could not make $AK_TEMP directory to work in" exit 1 fi _ak_log_info "Directory $AK_TEMP created successfully" echo "$AK_TEMP" } _ak_make_temp_file(){ AK_TEMP="$(mktemp /tmp/aktmp-XXXXXXX)" if [ ! -f "$AK_TEMP" ] then _ak_log_error "Could not make $AK_TEMP file to work in" exit 1 fi _ak_log_info "File $AK_TEMP created successfully" echo "$AK_TEMP" }