projects
/
feisty_meow.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added 7z file format unpacking.
[feisty_meow.git]
/
scripts
/
generator
/
wrapdoze.sh
diff --git
a/scripts/generator/wrapdoze.sh
b/scripts/generator/wrapdoze.sh
old mode 100644
(file)
new mode 100755
(executable)
index
0ce27c3
..
ab0a999
--- a/
scripts/generator/wrapdoze.sh
+++ b/
scripts/generator/wrapdoze.sh
@@
-2,22
+2,44
@@
source $FEISTY_MEOW_SCRIPTS/core/functions.sh
source $FEISTY_MEOW_SCRIPTS/core/functions.sh
-function dossify_and_run_commands()
+#hmmm: make this support multiple vars as parameters.
+# replaces a specific environment variable with a dos approved equivalent.
+function dossify_environment_variable()
{
{
+ local var="$1"; shift
+ old_value="${!var}"
+ if [[ ! "$old_value" =~ \/cygdrive\/ ]]; then
+#echo didnt have a cygdrive in it: $old_value
+ return 0
+#hmmm: want this to continue in multi parm version.
+ fi
-eval "${@}"
-return $?
+ # replace single back-slashes with double ones.
+ local new_value="$(unix_to_dos_path "${old_value}")"
+ # remove any quote characters in the value.
+ new_value="${new_value//\"/}"
-#all primordial gunk. try above first.
- # we only mess with the command line on windows...
+# echo "new value: $var = $new_value"
+ eval "export $var=\"$new_value\""
+}
+
+# for a windows build, this will replace any forward slashes
+# and other cygwin notation with the appropriate dos style paths.
+function dossify_and_run_commands()
+{
if [ "$OS" != "Windows_NT" ]; then
# for non windows, just run the commands straight up.
if [ "$OS" != "Windows_NT" ]; then
# for non windows, just run the commands straight up.
- $*
+ eval "${@}"
return $?
fi
return $?
fi
+ # force all slashes to be dossy.
+# export SERIOUS_SLASH_TREATMENT=true
+
+ dossify_environment_variable INCLUDE
+
declare -a darc_commands=()
for i in "$@"; do
declare -a darc_commands=()
for i in "$@"; do
@@
-39,13
+61,13
@@
return $?
real_commands+=($(echo $i | sed -e 's/\\/\\\\/g'))
done
real_commands+=($(echo $i | sed -e 's/\\/\\\\/g'))
done
-#temp!
- echo commands are now:
- for i in "${real_commands[@]}"; do
- echo -n "$i "
- done
- echo
-#end temp
+ if [ ! -z "$SHELL_DEBUG" ]; then
+
echo commands are now:
+
for i in "${real_commands[@]}"; do
+
echo -n "$i "
+
done
+
echo
+ fi
# now actually run the chewed command.
cmd /c "${real_commands[@]}"
# now actually run the chewed command.
cmd /c "${real_commands[@]}"