commencer le découpage fin de base en sous-modules

This commit is contained in:
2014-09-17 10:53:12 +04:00
parent fd98fe817e
commit d9266be21b
14 changed files with 806 additions and 611 deletions

View File

@@ -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"
}