Skip to content

Commit 6eb3454

Browse files
committed
Updating automation scripts
1 parent 7b1ba39 commit 6eb3454

9 files changed

Lines changed: 193 additions & 34 deletions

File tree

CONFIG.inc

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,28 @@ source ../CONFIG.inc
33
PACKAGE="ModuleManagerWatchDog"
44
TARGETDIR="${PACKAGE}"
55
TARGETBINDIR="${TARGETDIR}/Plugins"
6-
PROJECTSDIR="$PACKAGE/"
7-
VERSIONFILE="ModuleManagerWatchDog.version"
6+
PROJECTSDIR="Source/$PACKAGE/"
7+
VERSIONFILE="$PACKAGE.version"
88

9+
DLLS="WatchDogForInterstellarRedist WatchDogForScaleRedist"
10+
11+
# PluginData DLLs
12+
PD_DLLS="ModuleManagerWatchDog"
13+
# Rule oriented deployoment for PluginData
14+
#declare -A PD_SUB_RULES=( ["KSPe.UI.12"]="./12x/KSPe.UI" ["KSPe.UI.14"]="./14x/KSPe.UI" ["KSPe.UI.18"]="./18x/KSPe.UI" )
15+
declare -A PD_SUB_RULES=( )
16+
PD_SUB_DLLS=`{ for K in "${!PD_SUB_RULES[@]}"; do echo $(basename ${PD_SUB_RULES[$K]}); done } | sort -u | tr '\n' ' '`
17+
PD_SUB_DIRS=`{ for K in "${!PD_SUB_RULES[@]}"; do echo $(dirname ${PD_SUB_RULES[$K]}); done } | sort -u | tr '\n' ' '`
18+
19+
# GameData deployed DLLs
920
GD_DLLS="ModuleManagerWatchDog"
1021
GD_PRIORITY="666"
11-
DLLS="WatchDogForInterstellarRedist WatchDogForScaleRedist"
1222

23+
# Dev LIB deployed DLLs
24+
LIB_DLLS=""
25+
26+
# External Libs from the LIB directory
27+
EXT_DLLS=""
1328

1429
PROJECT_BRANCH=`git branch | grep \* | cut -d ' ' -f2`
1530
if [ "$PROJECT_BRANCH" == "master" ] ; then

check.sh

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/usr/bin/env bash
2+
3+
# see http://redsymbol.net/articles/unofficial-bash-strict-mode/
4+
set -euo pipefail
5+
IFS=$'\n\t'
6+
source ./CONFIG.inc
7+
8+
echo "LIB = ${LIB}"
9+
echo "PACKAGE = $PACKAGE"
10+
echo "TARGETDIR = $TARGETDIR"
11+
echo "TARGETBINDIR = $TARGETBINDIR"
12+
echo "PROJECTSDIR = $PROJECTSDIR"
13+
echo "DLLS = $DLLS"
14+
echo "PD_DLLS = $PD_DLLS"
15+
echo "PD_SUB_DLLS = $PD_SUB_DLLS"
16+
echo "PD_SUB_DIRS = $PD_SUB_DIRS"
17+
echo "GD_DLLS = $GD_DLLS"
18+
echo "GD_PRIORITY = $GD_PRIORITY"
19+
echo "LIB_DLLS = $LIB_DLLS"
20+
echo "PROJECT_BRANCH = $PROJECT_BRANCH"
21+
echo "PROJECT_STATE = $PROJECT_STATE"
22+
echo "VERSION = $VERSION"
23+
echo "KSP_DEV = $KSP_DEV"

clean.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
#!/usr/bin/env bash
22

3+
# see http://redsymbol.net/articles/unofficial-bash-strict-mode/
4+
set -euo pipefail
5+
IFS=$'\n\t'
36
source ./CONFIG.inc
47

58
clean() {

deploy-and-run.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/usr/bin/env bash
2+
3+
# see http://redsymbol.net/articles/unofficial-bash-strict-mode/
4+
set -euo pipefail
5+
IFS=$'\n\t'
6+
7+
. ./CONFIG.inc
8+
. ./deploy.sh
9+
10+
echo "Running ${KSP_DEV}"
11+
open ${KSP_DEV}/KSP.app
12+

deploy.sh

Lines changed: 55 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,27 @@
11
#!/usr/bin/env bash
22

3+
# see http://redsymbol.net/articles/unofficial-bash-strict-mode/
4+
set -euo pipefail
5+
IFS=$'\n\t'
36
source ./CONFIG.inc
7+
IFS=$' '
48

59
check() {
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

1227
deploy_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+
5395
check
5496
cp $VERSIONFILE "./GameData/$TARGETDIR"
5597
cp CHANGE_LOG.md "./GameData/$TARGETDIR"
@@ -62,7 +104,15 @@ for dll in $GD_DLLS ; do
62104
deploy_gamedata $GD_PRIORITY $dll
63105
done
64106

107+
for dll in $PD_DLLS ; do
108+
deploy_plugindata $dll
109+
done
110+
65111
for dll in $DLLS ; do
66112
deploy_dev $dll
67113
deploy $dll
68114
done
115+
116+
for dll in $EXT_DLLS ; do
117+
deploy_ext $dll
118+
done

pack-curse.sh

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/usr/bin/env bash
2+
3+
# see http://redsymbol.net/articles/unofficial-bash-strict-mode/
4+
set -euo pipefail
5+
IFS=$'\n\t'
6+
source ./CONFIG.inc
7+
8+
echo "Not used."
9+
return 0
10+
11+
clean() {
12+
rm -fR $FILE
13+
if [ ! -d Archive ] ; then
14+
mkdir Archive
15+
fi
16+
}
17+
18+
pwd=$(pwd)
19+
FILE=${pwd}/Archive/$PACKAGE-$VERSION${PROJECT_STATE}-CurseForge.zip
20+
echo $FILE
21+
clean
22+
cd GameData
23+
24+
zip -r $FILE ./$PACKAGE/* -x ".*"
25+
zip -d $FILE __MACOSX "**/.DS_Store"
26+
cd $pwd

pack-full.sh

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/usr/bin/env bash
2+
3+
# see http://redsymbol.net/articles/unofficial-bash-strict-mode/
4+
set -euo pipefail
5+
IFS=$'\n\t'
6+
source ./CONFIG.inc
7+
8+
clean() {
9+
rm -fR $FILE
10+
if [ ! -d Archive ] ; then
11+
mkdir Archive
12+
fi
13+
}
14+
15+
pwd=$(pwd)
16+
FILE=${pwd}/Archive/$PACKAGE-$VERSION${PROJECT_STATE}.zip
17+
echo $FILE
18+
clean
19+
zip -r $FILE ./GameData/* -x ".*"
20+
zip -r $FILE ./PluginData/* -x ".*"
21+
zip -r $FILE ./Extras/* -x ".*"
22+
zip $FILE INSTALL.md
23+
zip -d $FILE __MACOSX "**/.DS_Store"
24+
cd $pwd

pack.sh

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,11 @@
11
#!/usr/bin/env bash
22

3-
source ./CONFIG.inc
3+
# see http://redsymbol.net/articles/unofficial-bash-strict-mode/
4+
set -euo pipefail
5+
IFS=$'\n\t'
46

5-
clean() {
6-
rm $FILE
7-
if [ ! -d Archive ] ; then
8-
rm -f Archive
9-
mkdir Archive
10-
fi
11-
}
12-
13-
FILE=$PACKAGE-$VERSION$PROJECT_STATE.zip
14-
echo $FILE
15-
clean
16-
zip $FILE "INSTALL.md"
17-
zip -r $FILE ./GameData/* -x ".*"
18-
zip -r $FILE ./PluginData/* -x ".*"
19-
zip -d $FILE __MACOSX "**/.DS_Store"
20-
zip -d $FILE ./GameData/999_KSP-Recall/patches/attachment.cfg
21-
mv $FILE ./Archive
7+
pwd=$(pwd)
8+
./pack-full.sh
9+
cd $pwd
10+
./pack-curse.sh
11+
cd $pwd

publish.sh

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,29 @@
11
#!/usr/bin/env bash
22

3+
# see http://redsymbol.net/articles/unofficial-bash-strict-mode/
4+
set -euo pipefail
5+
IFS=$'\n\t'
36
source ./CONFIG.inc
47

58
VERSIONFILE=$PACKAGE.version
6-
REMOTE_DIR="${TARGET_CMS_PATH}ModuleManager/WatchDog/"
7-
REMOTE_CONTENT_DIR="${TARGET_CMS_PATH}ModuleManager/WatchDog/"
8-
9-
scp -i $SSH_ID "./GameData/$TARGETDIR/$VERSIONFILE" $SITE:$TARGET_CONTENT_PATH
10-
ssh ${SITE} "mkdir -p ${REMOTE_DIR}"
11-
scp -i $SSH_ID "./GameData/$TARGETDIR/README.md" $SITE:${REMOTE_DIR}index.md
12-
scp -i $SSH_ID "./KNOWN_ISSUES.md" $SITE:${REMOTE_DIR}
13-
#scp -i $SSH_ID "./PR_material/banner.jpg" $SITE:/${TARGET_CONTENT_PATH}PR_material/banner.jpg
9+
10+
deploy_md() {
11+
local MD=$1
12+
local TARGET=$2
13+
#![NxMyyTK.png](./PR_material/img/NxMyyTK.png) -> ![NxMyyTK.png](./PR_material/$PACKAGE/img/NxMyyTK.png)
14+
sed $MD -e "s/\\.\\/PR_material\\//.\\/PR_material\\/$PACKAGE\\//g" | ssh -i $SSH_ID $SITE "cat - >$TARGET_CMS_PATH/$TARGET"
15+
}
16+
17+
deploy_assets() {
18+
local IN_DIR=$1
19+
local OUT_DIR=$2
20+
ssh -i $SSH_ID $SITE "mkdir ${TARGET_CONTENT_PATH}$OUT_DIR"
21+
local cur_path=`pwd`
22+
cd $IN_DIR
23+
scp -i $SSH_ID -rp `find . -type f \! -name ".DS_Store" ` "$SITE:${TARGET_CONTENT_PATH}$OUT_DIR"
24+
cd $cur_path
25+
}
26+
27+
scp -i $SSH_ID ./GameData/$PACKAGE/$VERSIONFILE $SITE:/$TARGET_CONTENT_PATH
28+
deploy_assets ./PR_material ./PR_material/$PACKAGE
29+
deploy_md README.md $PACKAGE.md

0 commit comments

Comments
 (0)