done
}
+function validate_builddir() {
+ if [[ "$BUILDDIR" =~ [[:space:]] ]]; then
+ error "Build dir '$BUILDDIR' shouldn't contain any space"
+ fi
+ debug "Build dir is valid"
+}
+
function validate_machines() {
list_all_machines | sort | uniq -c | while read cnt machine; do
[[ $cnt == 1 ]] && continue
return 1
}
-function process-feature-shortcuts() {
- TOCHECK=$1
- debug "processing feature shortcut $TOCHECK"
- if $(echo "$FEATURES" | grep -q "$TOCHECK" 2>&1 ) ; then
- featuredir=$(find_feature_dir $TOCHECK)
- if test -d $featuredir; then
- tmpfeatures="$FEATURES $(cat $featuredir/included.inc)"
- tmpfeatures_uniq=$(echo $tmpfeatures | sed -e "s/$TOCHECK//g" -e 's/ / /g' | tr "[:blank:]" "\n" | sort -u )
- export FEATURES=$tmpfeatures_uniq
- debug "Features used: $FEATURES"
- else
- error "No feature directory with this name: $TOCHECK"
- exit 1
- fi
- fi
-}
-
-
function usage() {
cat <<EOF >&2
Usage: . $SCRIPT [options] [feature [feature [... ]]]
# the remaining args are the features
FEATURES="$@"
-process-feature-shortcuts agl-all-features
-process-feature-shortcuts agl-ci-change-features
-process-feature-shortcuts agl-ci-snapshot-features
# validate the machine list
debug "validating machines list"
TMP_FEATURES="$TMP_FEATURES $FEATURE"
TMP_FEATURES="$TMP_FEATURES $(find_feature_dependency $FEATURE $TMP_FEATURES)"
done
-FEATURES=$TMP_FEATURES
-echo "Features used: $FEATURES"
+# remove duplicate features if any
+FEATURES=$(for x in $TMP_FEATURES; do echo $x; done | sort -u | awk '{printf("%s ",$1);}')
# validate the features
for f in $FEATURES; do
# validate build dir
debug "validating builddir $BUILDDIR"
-BUILDDIR=$(mkdir -p $BUILDDIR && cd $BUILDDIR && pwd -P)
+BUILDDIR=$(mkdir -p "$BUILDDIR" && cd "$BUILDDIR" && pwd -P)
+validate_builddir
###########################################################################################
function dump_log() {