commencer le découpage fin de base en sous-modules
This commit is contained in:
@@ -47,44 +47,45 @@ ULIBINIT="$ULIBDIR"
|
||||
[ -n "$ULIBPROVIDED" ] || ULIBPROVIDED=(ulib)
|
||||
|
||||
function uprovided() {
|
||||
local ulib_
|
||||
for ulib_ in "${ULIBPROVIDED[@]}"; do
|
||||
[ "$ulib_" == "$1" ] && return 0
|
||||
local module
|
||||
for module in "${ULIBPROVIDED[@]}"; do
|
||||
[ "$module" == "$1" ] && return 0
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
function uprovide() {
|
||||
uprovided "$1" && return 0
|
||||
uprovided "$1" && return 1
|
||||
ULIBPROVIDED=("${ULIBPROVIDED[@]}" "$1")
|
||||
}
|
||||
|
||||
function urequire() {
|
||||
local ulib_ ulibdir_ found_
|
||||
local __u_module __u_ulibdir __u_found
|
||||
[ -n "$*" ] || set DEFAULTS
|
||||
for ulib_ in "$@"; do
|
||||
found_=
|
||||
for ulibdir_ in "${ULIBDIRS[@]}"; do
|
||||
if [ -f "$ulibdir_/$ulib_" ]; then
|
||||
found_=1
|
||||
if ! uprovided "$ulib_"; then
|
||||
uprovide "$ulib_"
|
||||
source "$ulibdir_/$ulib_" || die
|
||||
for __u_module in "$@"; do
|
||||
__u_found=
|
||||
for __u_ulibdir in "${ULIBDIRS[@]}"; do
|
||||
if [ -f "$__u_ulibdir/$__u_module" ]; then
|
||||
__u_found=1
|
||||
if ! uprovided "$__u_module"; then
|
||||
uprovide "$__u_module"
|
||||
source "$__u_ulibdir/$__u_module" || die
|
||||
fi
|
||||
break
|
||||
elif [ "$ulib_" == "DEFAULTS" ]; then
|
||||
found_=1
|
||||
for ulib_ in base pretty sysinfos compat; do
|
||||
if ! uprovided "$ulib_"; then
|
||||
uprovide "$ulib_"
|
||||
source "$ulibdir_/$ulib_" || die
|
||||
fi
|
||||
done
|
||||
break
|
||||
fi
|
||||
done
|
||||
[ -n "$found_" ] || die "Unable to find $ulib_ in ${ULIBDIR[*]}"
|
||||
if [ -z "$__u_found" -a "$__u_module" == DEFAULTS ]; then
|
||||
__u_found=1
|
||||
for __u_module in base pretty sysinfos compat; do
|
||||
if ! uprovided "$__u_module"; then
|
||||
uprovide "$__u_module"
|
||||
source "$__u_ulibdir/$__u_module" || die
|
||||
fi
|
||||
done
|
||||
fi
|
||||
[ -n "$__u_found" ] || die "Unable to find $__u_module in ${ULIBDIR[*]}"
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
function ulibadd() {
|
||||
@@ -93,7 +94,8 @@ function ulibadd() {
|
||||
|
||||
function ulibsync() {
|
||||
local destdir="$(abspath "${1:-.}")"
|
||||
local __CPNOVCS_RSYNC_ARGS=(-q --delete)
|
||||
local -a __CPNOVCS_RSYNC_ARGS
|
||||
__CPNOVCS_RSYNC_ARGS=(-q --delete)
|
||||
[ "$destdir/ulib" != "$ULIBDIR" ] && cpdirnovcs "$ULIBDIR" "$destdir/ulib"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user