-
Notifications
You must be signed in to change notification settings - Fork 72
/
Copy pathcfgcommon.sh
192 lines (162 loc) · 4 KB
/
cfgcommon.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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
#!/bin/bash
# Copyright (c) 2000, 2024, Oracle and/or its affiliates.
#
# Licensed under the Universal Permissive License v 1.0 as shown at
# https://oss.oracle.com/licenses/upl.
# This script sets all environment variables necessary to build Coherence,
# however should be sourced by other scripts. These scripts should define
# _JAVA_HOME_CMD as a platform specific means of locating the correct
# JAVA_HOME.
#
# This script is responsible for the following environment variables:
#
# DEV_ROOT e.g. /dev
# JAVA_HOME e.g. /usr/java/jdk1.6
# MAVEN_HOME e.g. /dev/tools/maven
# P4IGNORE e.g. /dev/.p4ignore
# CLASSPATH e.g.
#
# _P4IGNORE saved P4IGNORE
# _CLASSPATH saved CLASSPATH
# _PATH saved PATH
#
#
# Reset the build environment if the "-reset" flag was passed.
#
function reset
{
if [ -z $DEV_ROOT ]; then
echo Build environment already reset.
return 0
fi
if [ -z $_JAVA_HOME ]; then
unset JAVA_HOME
else
export JAVA_HOME=$_JAVA_HOME
fi
if [ -z $_MAVEN_HOME ]; then
unset MAVEN_HOME
else
export MAVEN_HOME=$_MAVEN_HOME
fi
if [ -z $_P4IGNORE ]; then
unset P4IGNORE
else
export P4IGNORE=$_P4IGNORE
fi
if [ -z $_CLASSPATH ]; then
unset CLASSPATH
else
export CLASSPATH=$_CLASSPATH
fi
if [ -z $_PATH ]; then
unset PATH
else
export PATH=$_PATH
fi
unset DEV_ROOT
unset _JAVA_HOME
unset _MAVEN_HOME
unset _P4IGNORE
unset _CLASSPATH
unset _PATH
echo Build environment reset.
}
#
# Setup the shell for Coherence builds.
#
function setup
{
#
# Determine the root of the dev tree
#
cd $SCRIPTS_DIR/..
DEV_ROOT=`pwd`
cd - > /dev/null
#
# Ensure proper Java version, attempt selection if necessary
#
_JAVA_HOME=$JAVA_HOME
_VERSION_REQUIRED=${JAVA_VERSION_TO_USE:-21}
if [ -z $JAVA_HOME ] || [ "$($JAVA_HOME/bin/java -version 2>&1 | sed 's/.*version "\([0-9]*\).*/\1/; 1q')" != "$_VERSION_REQUIRED" ]; then
# Try to find the correct version
JAVA_HOME=`eval $_JAVA_HOME_CMD`
echo JAVA_HOME evaluated to $JAVA_HOME
unset _ERROR
if [ ! -d "$JAVA_HOME" ]; then
_ERROR="Set JAVA_HOME as Java version $_VERSION_REQUIRED could not be located using command: $_JAVA_HOME_CMD"
else
# Ensure that it has been found
_VERSION=$($JAVA_HOME/bin/java -version 2>&1 | sed 's/.*version "\([0-9]*\).*/\1/; 1q')
if [ "$_VERSION" != "$_VERSION_REQUIRED" ]; then
_ERROR="Incorrect JDK version $_VERSION at $JAVA_HOME; $_VERSION_REQUIRED is required, please export JAVA_HOME appropriately."
fi
fi
if [ ! -z "$_ERROR" ]; then
if [ -z $_JAVA_HOME ]; then
unset JAVA_HOME
else
JAVA_HOME=$_JAVA_HOME
fi
echo "$_ERROR"
unset _ERROR
unset _JAVA_HOME
unset _VERSION
unset _VERSION_REQUIRED
unset DEV_ROOT
return 1
fi
unset _VERSION
fi
unset _VERSION_REQUIRED
export DEV_ROOT
echo DEV_ROOT = $DEV_ROOT
export JAVA_HOME
echo JAVA_HOME = $JAVA_HOME
$JAVA_HOME/bin/java -version
#
# Save the PATH environment variable
#
_PATH=$PATH
#
# Set the MAVEN_HOME environment variable if tools/maven exists
#
_MAVEN_HOME=$MAVEN_HOME
if [ -d $DEV_ROOT/tools/maven ]; then
MAVEN_HOME=$DEV_ROOT/tools/maven
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME
echo MAVEN_HOME = $MAVEN_HOME
fi
#
# Set the P4IGNORE environment variable
#
_P4IGNORE=$P4IGNORE
if [ -f $DEV_ROOT/.p4ignore ]; then
P4IGNORE=$DEV_ROOT/.p4ignore
export P4IGNORE
echo P4IGNORE = $P4IGNORE
fi
#
# Add the RQ executables to the PATH environment variable
#
PATH=$PATH:$DEV_ROOT/tools/wls/infra
#
# Set the CLASSPATH environment variable
#
_CLASSPATH=$CLASSPATH
CLASSPATH=""
export CLASSPATH
echo CLASSPATH = $CLASSPATH
export PATH
echo PATH = $PATH
echo Build environment set.
}
# main
if [ "$1" = "-reset" ]; then
reset
elif [ -z $DEV_ROOT ]; then
setup
else
echo Build environment already set.
fi