11#! /usr/bin/env bash
22
3+ # see http://redsymbol.net/articles/unofficial-bash-strict-mode/
4+ set -euo pipefail
5+ IFS=$' \n\t '
36source ./CONFIG.inc
7+ IFS=$' '
48
59check () {
610 if [ ! -d " ./GameData/$TARGETBINDIR /" ] ; then
711 rm -f " ./GameData/$TARGETBINDIR /"
8- mkdir -p " ./GameData/$TARGETBINDIR / "
12+ mkdir -p " ./GameData/$TARGETBINDIR "
913 fi
14+
15+ if [ ! -z " $PD_DLLS " ] ; then
16+ mkdir -p " ./GameData/$TARGETBINDIR /PluginData"
17+ fi
18+
19+ for dll in $EXT_DLLS ; do
20+ if [ ! -f " ${LIB} /$dll .dll" ] ; then
21+ echo " $dll not found!!! Aborting."
22+ exit -1
23+ fi
24+ done
1025}
1126
1227deploy_dev () {
@@ -21,14 +36,30 @@ deploy() {
2136 local DLL=$1 .dll
2237
2338 if [ -f " ./bin/Release/$DLL " ] ; then
24- cp " ./bin/Release/$DLL " " ./GameData/$TARGETBINDIR /"
39+ cp -R " ./bin/Release/$DLL " " ./GameData/$TARGETBINDIR /"
2540 if [ -d " ${KSP_DEV} /GameData/$TARGETBINDIR /" ] ; then
26- cp " ./bin/Release/$DLL " " ${KSP_DEV/ } GameData/$TARGETBINDIR /"
41+ cp -R " ./bin/Release/$DLL " " ${KSP_DEV} / GameData/$TARGETBINDIR /"
2742 fi
2843 fi
2944 if [ -f " ./bin/Debug/$DLL " ] ; then
3045 if [ -d " ${KSP_DEV} /GameData/$TARGETBINDIR /" ] ; then
31- cp " ./bin/Debug/$DLL " " ${KSP_DEV} GameData/$TARGETBINDIR /"
46+ cp -R " ./bin/Debug/$DLL " " ${KSP_DEV} GameData/$TARGETBINDIR /"
47+ fi
48+ fi
49+ }
50+
51+ deploy_plugindata () {
52+ local DLL=$1 .dll
53+
54+ if [ -f " ./bin/Release/$DLL " ] ; then
55+ cp " ./bin/Release/$DLL " " ./GameData/$TARGETBINDIR /PluginData/"
56+ if [ -d " ${KSP_DEV} /GameData/" ] ; then
57+ cp " ./bin/Release/$DLL " " ${KSP_DEV} GameData/$TARGETBINDIR /PluginData/"
58+ fi
59+ fi
60+ if [ -f " ./bin/Debug/$DLL " ] ; then
61+ if [ -d " ${KSP_DEV} /GameData/" ] ; then
62+ cp " ./bin/Debug/$DLL " " ${KSP_DEV} GameData/$TARGETBINDIR /PluginData/"
3263 fi
3364 fi
3465}
@@ -38,7 +69,7 @@ deploy_gamedata() {
3869 local DLL=$2 .dll
3970
4071 if [ -f " ./bin/Release/$DLL " ] ; then
41- cp " ./bin/Release/$DLL " " ./GameData/${PLACE} _ $DLL "
72+ cp " ./bin/Release/$DLL " " ./GameData/000_ $DLL "
4273 if [ -d " ${KSP_DEV} /GameData/" ] ; then
4374 cp " ./bin/Release/$DLL " " ${KSP_DEV/ } GameData/${PLACE} _$DLL "
4475 fi
@@ -50,6 +81,17 @@ deploy_gamedata() {
5081 fi
5182}
5283
84+ deploy_ext () {
85+ local DLL=$1 .dll
86+
87+ if [ -f " $LIB /$DLL " ] ; then
88+ cp -R " $LIB /$DLL " " ./GameData/$TARGETBINDIR /"
89+ if [ -d " ${KSP_DEV} /GameData/" ] ; then
90+ cp -R " $LIB /$DLL " " ${KSP_DEV/ } GameData/$TARGETBINDIR /"
91+ fi
92+ fi
93+ }
94+
5395check
5496cp $VERSIONFILE " ./GameData/$TARGETDIR "
5597cp CHANGE_LOG.md " ./GameData/$TARGETDIR "
@@ -62,7 +104,15 @@ for dll in $GD_DLLS ; do
62104 deploy_gamedata $GD_PRIORITY $dll
63105done
64106
107+ for dll in $PD_DLLS ; do
108+ deploy_plugindata $dll
109+ done
110+
65111for dll in $DLLS ; do
66112 deploy_dev $dll
67113 deploy $dll
68114done
115+
116+ for dll in $EXT_DLLS ; do
117+ deploy_ext $dll
118+ done
0 commit comments