a/codesys-ide/codesyscontrol b/codesys-ide/codesyscontrol
1
#!/bin/bash
1
#!/bin/bash
2
2
3
# set timeout in seconds
4
TIMEOUT=60
5
3
if [ -z $1 ]; then
6
if [ -z $1 ]; then
4
    echo "usage: $0 <filename of offline bootproject (*.app)> [<artifact 1> <artifact 2>]"
7
    echo "usage: $0 <filename of offline bootproject (*.app)> [<artifact 1> <artifact 2>]"
5
    exit -1
8
    exit -1
6
fi
9
fi
7
10
8
# create temporary working directory
11
# create temporary working directory
9
tmpdir=$(mktemp -d)
12
tmpdir=$(mktemp -d)
10
13
14
# just a hacky workaround for bad test-applications, writing to "C:" ;)
15
mkdir ${tmpdir}/C:
16
11
# create config file
17
# create config file
12
appname=$(basename ${1} .app)
18
appname=$(basename ${1} .app)
13
cp ${appname}.app ${tmpdir}/Application.app
19
cp ${appname}.app ${tmpdir}/Application.app
14
cp ${appname}.crc ${tmpdir}/Application.crc
20
cp ${appname}.crc ${tmpdir}/Application.crc
15
21
...
...
22
EOF
28
EOF
23
29
24
# run codesys control
30
# run codesys control
25
(
31
(
26
    cd ${tmpdir};
32
    cd ${tmpdir};
27
    /opt/codesys/bin/codesyscontrol.bin -d CODESYSControl.cfg;
33
    timeout ${TIMEOUT} /opt/codesys/bin/codesyscontrol.bin CODESYSControl.cfg;
28
)
34
)
29
35
36
# copy artifacts
37
for i in ${@:2}; do
38
    mkdir -p $(dirname ".drone-artifacts/$i")
39
    cp "${tmpdir}/$i" ".drone-artifacts/$i"
40
done
41
42
30
# remove temporary working directory
43
# remove temporary working directory
31
[ -d ${tmpdir} ] && rm -rf ${tmpdir}
44
[ -d ${tmpdir} ] && rm -rf ${tmpdir}