Compare commits

..

4 commits
v0.1.3 ... main

3 changed files with 30 additions and 26 deletions

View file

@ -5,7 +5,7 @@ completions=${args[--completions]:-}
target=${args[target]:?} target=${args[target]:?}
url=${args[url]:?} url=${args[url]:?}
if [ "${action:-file}" = "exe" ] if [ "${action:-file}" = "exe" ] && ! echo "$target" | grep -q "/"
then then
if [ -x "$(command -v "$target")" ] if [ -x "$(command -v "$target")" ]
then then

View file

@ -4,7 +4,7 @@ group=${args[group]:?}
file=${args[--file]:-} file=${args[--file]:-}
clean=${args[--clean]:-} clean=${args[--clean]:-}
_handle_entry() { _install_entry() {
type="$1" type="$1"
source="$2" source="$2"
target="$3" target="$3"
@ -38,7 +38,30 @@ _handle_entry() {
install_args+=("$(eval "echo $target")") install_args+=("$(eval "echo $target")")
"$0" "${install_args[@]}" || true # Continue on error "$0" "${install_args[@]}"
}
_handle_entry() {
unset AUTOINSTALL_ITEM_TYPE \
AUTOINSTALL_ITEM_SOURCE \
AUTOINSTALL_ITEM_TARGET \
AUTOINSTALL_ITEM_HOOK \
AUTOINSTALL_ITEM_PIPE \
AUTOINSTALL_ITEM_COMPLETIONS
eval "$1"
# check if we have the required vars
if [[ -z "${AUTOINSTALL_ITEM_TYPE:-}" \
|| -z "${AUTOINSTALL_ITEM_SOURCE:-}" \
|| -z "${AUTOINSTALL_ITEM_TARGET:-}" ]]
then
return
fi
_install_entry "$AUTOINSTALL_ITEM_TYPE" "$AUTOINSTALL_ITEM_SOURCE" \
"$AUTOINSTALL_ITEM_TARGET" "${AUTOINSTALL_ITEM_HOOK:-}" "${AUTOINSTALL_ITEM_PIPE:-}" "${AUTOINSTALL_ITEM_COMPLETIONS:-}"
} }
file_lines=$(wc -l < "$file") file_lines=$(wc -l < "$file")
@ -52,33 +75,14 @@ while [[ $line -lt $file_lines ]]; do
continue continue
fi fi
unset AUTOINSTALL_ITEM_TYPE \
AUTOINSTALL_ITEM_SOURCE \
AUTOINSTALL_ITEM_TARGET \
AUTOINSTALL_ITEM_HOOK \
AUTOINSTALL_ITEM_PIPE \
AUTOINSTALL_ITEM_COMPLETIONS \
AUTOINSTALL_ITEM_GROUPS
eval "$entry"
# check if we have the required vars
if [[ -z "${AUTOINSTALL_ITEM_TYPE:-}" \
|| -z "${AUTOINSTALL_ITEM_SOURCE:-}" \
|| -z "${AUTOINSTALL_ITEM_TARGET:-}" \
|| -z "${AUTOINSTALL_ITEM_GROUPS:-}" ]]
then
continue
fi
if [[ "$group" != "all" ]] if [[ "$group" != "all" ]]
then then
# check if group is in groups # check if group is in groups
if [[ ! "${AUTOINSTALL_ITEM_GROUPS}" =~ (^|,)$group(,|$) ]] if ! echo "$entry" | grep -qE "^AUTOINSTALL_ITEM_GROUPS=\"(.*,)?$group(,.*)?\"$"
then then
continue continue
fi fi
fi fi
_handle_entry "$AUTOINSTALL_ITEM_TYPE" "$AUTOINSTALL_ITEM_SOURCE" \ _handle_entry "$entry" || true # ignore errors
"$AUTOINSTALL_ITEM_TARGET" "${AUTOINSTALL_ITEM_HOOK:-}" "${AUTOINSTALL_ITEM_PIPE:-}" "${AUTOINSTALL_ITEM_COMPLETIONS:-}"
done done

2
run.sh
View file

@ -8,4 +8,4 @@ make generate
printf "\nBuild complete. Running...\n==========================\n\n" printf "\nBuild complete. Running...\n==========================\n\n"
"./output/$target" "$@" time "./output/$target" "$@"