53 lines
1.3 KiB
Bash
53 lines
1.3 KiB
Bash
#!/bin/sh
|
|
|
|
for f in /etc/mavenrc /etc/java/maven.conf "$HOME/.mavenrc"; do
|
|
[ -f "$f" ] && . "$f"
|
|
done
|
|
|
|
if [ -f /usr/share/java-utils/java-functions ] ; then
|
|
. /usr/share/java-utils/java-functions
|
|
set_jvm
|
|
set_javacmd
|
|
fi
|
|
export JAVA_HOME
|
|
export JAVACMD
|
|
|
|
export M2_HOME="${M2_HOME:-/usr/share/maven}"
|
|
|
|
|
|
# traverses directory structure from process work directory to filesystem root
|
|
# first directory with .mvn subdirectory is considered project base directory
|
|
find_maven_basedir() {
|
|
(
|
|
basedir="`pwd`"
|
|
wdir="`pwd`"
|
|
while [ "$wdir" != '/' ] ; do
|
|
if [ -d "$wdir"/.mvn ] ; then
|
|
basedir=$wdir
|
|
break
|
|
fi
|
|
wdir="`cd "$wdir/.."; pwd`"
|
|
done
|
|
echo "${basedir}"
|
|
)
|
|
}
|
|
|
|
export MAVEN_PROJECTBASEDIR="${MAVEN_BASEDIR:-`find_maven_basedir`}"
|
|
|
|
export MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
|
|
|
|
project_opts=$(
|
|
[ -e "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config" ] &&
|
|
cat /tmp/foo "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config")
|
|
|
|
exec "$JAVACMD" \
|
|
$project_opts \
|
|
$MAVEN_OPTS \
|
|
$MAVEN_DEBUG_OPTS \
|
|
-classpath $(build-classpath plexus-classworlds) \
|
|
-Dclassworlds.conf="${M2_HOME}/bin/m2.conf" \
|
|
-Dmaven.home="${M2_HOME}" \
|
|
-Dmaven.multiModuleProjectDirectory="${MAVEN_PROJECTBASEDIR}" \
|
|
org.codehaus.plexus.classworlds.launcher.Launcher \
|
|
"$@"
|