blob: f2b474084d6a9e424f6f91e04fe8e6ce255f4e3e (
plain)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
#!/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"
}
|