summaryrefslogtreecommitdiff
path: root/devel/apache-ant/files/ant.sh.in
blob: 4927ef8832a4860b2d769e5c3e36b88da43166a7 (plain) (blame)
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
#!/bin/sh
#
# FreeBSD-specific startup script for Jakarta Ant.
#
# See: http://jakarta.apache.org/ant/
#
# $FreeBSD$
#


DEFAULT_JAVACMD=%%JAVA%%
DEFAULT_JAVA_HOME=%%JAVA_HOME%%
DEFAULT_JIKES=false
ANT_HOME=%%ANT_HOME%%


#-----------------------------------------------------------------------------
# Determine configuration settings
#-----------------------------------------------------------------------------

# Load system-wide configuration
if [ -f "%%PREFIX%%/etc/ant.conf" ]; then 
	. %%PREFIX%%/etc/ant.conf
fi

# Load user-specific configuration
if [ -f "${HOME}/.antrc" ]; then 
	. "${HOME}/.antrc"
fi

# Determine if Jikes should be used
if [ -z "${usejikes}" ]; then
	usejikes=${DEFAULT_JIKES};
fi

# Determine the JDK home directory
if [ -z "${JAVA_HOME}" ]; then
	JAVA_HOME=${DEFAULT_JAVA_HOME}
fi

# Set ANT_LIB location
ANT_LIB="${ANT_HOME}/lib"

# Determine 'java' executable
if [ -z "${JAVACMD}" ]; then 
	if [ -n "${JAVA_HOME}"  ]; then
		JAVACMD="${JAVA_HOME}/bin/java"
	else
		JAVACMD=${DEFAULT_JAVACMD}
	fi
fi
 
# Check if 'java' executable can be found
if [ ! -x "$JAVACMD" ]; then
	echo "Error: JAVA_HOME is not defined correctly: ${JAVA_HOME}"
	echo "       Unable to find ${JAVACMD}"
	exit 1
fi


#-----------------------------------------------------------------------------
# Determine CLASSPATH
#-----------------------------------------------------------------------------

# Initialize the classpath to the existing classpath
if [ -n "$CLASSPATH" ]; then
	LOCALCLASSPATH="${CLASSPATH}"
fi

# Add the dependency .jar files from ${ANT_HOME}/lib
for JAR_FILE in "${ANT_LIB}"/*.jar; do

	# If the directory is empty, then the input string is returned
	if [ -f "${JAR_FILE}" ]; then
		if [ -z "$LOCALCLASSPATH" ]; then
			LOCALCLASSPATH="${JAR_FILE}"
		else
			LOCALCLASSPATH="${JAR_FILE}":"$LOCALCLASSPATH"
		fi
	fi
done

# FreeBSD-specific: Add the .jar files from ${PREFIX}/share/java/classes
for JAR_FILE in "%%PREFIX%%/share/java/classes"/*.jar; do

	# If the directory is empty, then the input string is returned
	if [ -f "${JAR_FILE}" ]; then
		if [ -z "${LOCALCLASSPATH}" ]; then
			LOCALCLASSPATH="${JAR_FILE}"
		else
			LOCALCLASSPATH="${JAR_FILE}":"${LOCALCLASSPATH}"
		fi
	fi
done

# Add the JDK tools.jar or classes.zip file to the CLASSPATH
if [ -n "${JAVA_HOME}" ]; then
	if [ -f "${JAVA_HOME}/lib/tools.jar" ]; then
		LOCALCLASSPATH="${LOCALCLASSPATH}:${JAVA_HOME}/lib/tools.jar"
	elif [ -f "${JAVA_HOME}/lib/classes.zip" ]; then
		LOCALCLASSPATH="${LOCALCLASSPATH}:${JAVA_HOME}/lib/classes.zip"
	fi
else
	echo "Warning: JAVA_HOME environment variable is not set."
	echo "  If build fails because sun.* classes could not be found"
	echo "  you will need to set the JAVA_HOME environment variable"
	echo "  to the installation directory of java."
fi


#-----------------------------------------------------------------------------
# Determine all Ant options
#-----------------------------------------------------------------------------

# Add Jikes flag if appropriate
if ${usejikes}; then
	ANT_OPTS="${ANT_OPTS} -Dbuild.compiler=jikes"
fi

# Add the Jikes path to the options if necessary
if [ -n "${JIKESPATH}" ]; then
	ANT_OPTS="${ANT_OPTS} -Djikes.class.path=${JIKESPATH}"
fi

# Add option for the CLASSPATH
ANT_OPTS="${ANT_OPTS} -classpath ${LOCALCLASSPATH}"

# Add option for Ant home directory
ANT_OPTS="${ANT_OPTS} -Dant.home=${ANT_HOME}"


#-----------------------------------------------------------------------------
# Call Ant
#-----------------------------------------------------------------------------

if [ -n "${VERBOSE_ANT_SCRIPT}" ]; then
	echo "Java command: ${JAVACMD}"
	echo "Ant options: ${ANT_OPTS}"
	echo "Ant arguments: ${ANT_ARGS}"
fi

${JAVACMD} ${ANT_OPTS} org.apache.tools.ant.Main ${ANT_ARGS} $@