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 /"
812 mkdir -p " ./GameData/$TARGETBINDIR /"
913 fi
14+
15+ for dll in $EXT_DLLS ; do
16+ if [ ! -f " ${LIB} /$dll .dll" ] ; then
17+ echo " $dll not found!!! Aborting."
18+ exit -1
19+ fi
20+ done
1021}
1122
1223deploy_dev () {
@@ -21,28 +32,84 @@ deploy() {
2132 local DLL=$1 .dll
2233
2334 if [ -f " ./bin/Release/$DLL " ] ; then
24- cp " ./bin/Release/$DLL " " ./GameData/$TARGETBINDIR /"
35+ cp -R " ./bin/Release/$DLL " " ./GameData/$TARGETBINDIR /"
2536 if [ -d " ${KSP_DEV} /GameData/$TARGETBINDIR /" ] ; then
26- cp " ./bin/Release/$DLL " " ${KSP_DEV/ } GameData/$TARGETBINDIR /"
37+ cp -R " ./bin/Release/$DLL " " ${KSP_DEV} / GameData/$TARGETBINDIR /"
2738 fi
2839 fi
2940 if [ -f " ./bin/Debug/$DLL " ] ; then
3041 if [ -d " ${KSP_DEV} /GameData/$TARGETBINDIR /" ] ; then
31- cp " ./bin/Debug/$DLL " " ${KSP_DEV} GameData/$TARGETBINDIR /"
42+ cp -R " ./bin/Debug/$DLL " " ${KSP_DEV} GameData/$TARGETBINDIR /"
43+ fi
44+ fi
45+ }
46+
47+ deploy_plugindata () {
48+ local DLL=$1 .dll
49+
50+ if [ -f " ./bin/Release/$DLL " ] ; then
51+ cp " ./bin/Release/$DLL " " ./GameData/$TARGETBINDIR /PluginData/"
52+ if [ -d " ${KSP_DEV} /GameData/" ] ; then
53+ cp " ./bin/Release/$DLL " " ${KSP_DEV} GameData/$TARGETBINDIR /PluginData/"
54+ fi
55+ fi
56+ if [ -f " ./bin/Debug/$DLL " ] ; then
57+ if [ -d " ${KSP_DEV} /GameData/" ] ; then
58+ cp " ./bin/Debug/$DLL " " ${KSP_DEV} GameData/$TARGETBINDIR /PluginData/"
59+ fi
60+ fi
61+ }
62+
63+ deploy_gamedata () {
64+ local PLACE=$1
65+ local DLL=$2 .dll
66+
67+ if [ -f " ./bin/Release/$DLL " ] ; then
68+ cp " ./bin/Release/$DLL " " ./GameData/000_$DLL "
69+ if [ -d " ${KSP_DEV} /GameData/" ] ; then
70+ cp " ./bin/Release/$DLL " " ${KSP_DEV/ } GameData/${PLACE} _$DLL "
71+ fi
72+ fi
73+ if [ -f " ./bin/Debug/$DLL " ] ; then
74+ if [ -d " ${KSP_DEV} /GameData/" ] ; then
75+ cp " ./bin/Debug/$DLL " " ${KSP_DEV} GameData/${PLACE} _$DLL "
3276 fi
3377 fi
3478}
3579
36- VERSIONFILE=$PACKAGE .version
80+ deploy_ext () {
81+ local DLL=$1 .dll
82+
83+ if [ -f " $LIB /$DLL " ] ; then
84+ cp -R " $LIB /$DLL " " ./GameData/$TARGETBINDIR /"
85+ if [ -d " ${KSP_DEV} /GameData/" ] ; then
86+ cp -R " $LIB /$DLL " " ${KSP_DEV/ } GameData/$TARGETBINDIR /"
87+ fi
88+ fi
89+ }
3790
3891check
39- cp $VERSIONFILE " ./GameData/$TARGETDIR "
40- cp CHANGE_LOG.md " ./GameData/$TARGETDIR /$PACKAGE .CHANGE_LOG.md"
41- cp README.md " ./GameData/$TARGETDIR /$PACKAGE .README.md"
42- cp LICENSE " ./GameData/$TARGETDIR /$PACKAGE .LICENSE"
43- cp NOTICE " ./GameData/$TARGETDIR /$PACKAGE .NOTICE"
4492
45- for dll in $PACKAGE ; do
93+ cp $VERSIONFILE " ./GameData/$TARGETDIR /"
94+ cp CHANGE_LOG.md " ./GameData/$TARGETDIR /"
95+ cp README.md " ./GameData/$TARGETDIR /"
96+ cp LICENSE " ./GameData/$TARGETDIR /"
97+ cp NOTICE " ./GameData/$TARGETDIR /"
98+
99+ for dll in $GD_DLLS ; do
100+ deploy_dev $dll
101+ deploy_gamedata $GD_PRIORITY $dll
102+ done
103+
104+ for dll in $PD_DLLS ; do
105+ deploy_plugindata $dll
106+ done
107+
108+ for dll in $DLLS ; do
46109 deploy_dev $dll
47- deploy $dll
110+ TARGETBINDIR=" " deploy $dll
111+ done
112+
113+ for dll in $EXT_DLLS ; do
114+ deploy_ext $dll
48115done
0 commit comments