forked from riccardo-ferrari/liferay-docker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path_common.sh
executable file
·146 lines (116 loc) · 2.73 KB
/
_common.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#!/bin/bash
function check_utils {
#
# https://stackoverflow.com/a/677212
#
for util in "${@}"
do
command -v ${util} >/dev/null 2>&1 || { echo >&2 "The utility ${util} is not installed."; exit 1; }
done
}
function clean_up_temp_directory {
rm -fr ${TEMP_DIR}
}
function configure_tomcat {
printf "\nCATALINA_OPTS=\"\${CATALINA_OPTS} \${LIFERAY_JVM_OPTS}\"" >> ${TEMP_DIR}/liferay/tomcat/bin/setenv.sh
}
function date {
if [ -z ${1+x} ] || [ -z ${2+x} ]
then
if [ "$(uname)" == "Darwin" ]
then
echo $(/bin/date)
elif [ -e /bin/date ]
then
echo $(/bin/date)
else
echo $(/usr/bin/date)
fi
else
if [ "$(uname)" == "Darwin" ]
then
echo $(/bin/date -jf "%a %b %e %H:%M:%S %Z %Y" "${1}" "${2}")
elif [ -e /bin/date ]
then
echo $(/bin/date -d "${1}" "${2}")
else
echo $(/usr/bin/date -d "${1}" "${2}")
fi
fi
}
function get_tomcat_version {
if [ -e ${1}/tomcat-* ]
then
for temp_file_name in `ls ${1}`
do
if [[ ${temp_file_name} == tomcat-* ]]
then
local liferay_tomcat_version=${temp_file_name#*-}
fi
done
fi
if [ -z ${liferay_tomcat_version+x} ]
then
echo "Unable to determine Tomcat version."
exit 1
fi
echo ${liferay_tomcat_version}
}
function make_temp_directory {
CURRENT_DATE=$(date)
TIMESTAMP=$(date "${CURRENT_DATE}" "+%Y%m%d%H%M")
TEMP_DIR=temp-${TIMESTAMP}
mkdir -p ${TEMP_DIR}
cp -r template/* ${TEMP_DIR}
}
function prepare_tomcat {
local liferay_tomcat_version=$(get_tomcat_version ${TEMP_DIR}/liferay)
mv ${TEMP_DIR}/liferay/tomcat-${liferay_tomcat_version} ${TEMP_DIR}/liferay/tomcat
ln -s tomcat ${TEMP_DIR}/liferay/tomcat-${liferay_tomcat_version}
configure_tomcat
warm_up_tomcat
}
function start_tomcat {
./${TEMP_DIR}/liferay/tomcat/bin/catalina.sh start
until $(curl --head --fail --output /dev/null --silent http://localhost:8080)
do
sleep 3
done
./${TEMP_DIR}/liferay/tomcat/bin/catalina.sh stop
sleep 10
rm -fr ${TEMP_DIR}/liferay/data/osgi/state
rm -fr ${TEMP_DIR}/liferay/osgi/state
rm -fr ${TEMP_DIR}/liferay/tomcat/logs/*
}
function stat {
if [ "$(uname)" == "Darwin" ]
then
echo $(/usr/bin/stat -f "%z" "${1}")
else
echo $(/usr/bin/stat --printf="%s" "${1}")
fi
}
function warm_up_tomcat {
#
# Warm up Tomcat for older versions to speed up starting Tomcat. Populating
# the Hypersonic files can take over 20 seconds.
#
if [ -d ${TEMP_DIR}/liferay/data/hsql ]
then
if [ $(stat ${TEMP_DIR}/liferay/data/hsql/lportal.script) -lt 1024000 ]
then
start_tomcat
else
echo Tomcat is already warmed up.
fi
fi
if [ -d ${TEMP_DIR}/liferay/data/hypersonic ]
then
if [ $(stat ${TEMP_DIR}/liferay/data/hypersonic/lportal.script) -lt 1024000 ]
then
start_tomcat
else
echo Tomcat is already warmed up.
fi
fi
}