churchyard / rpms / maven

Forked from rpms/maven 4 years ago
Clone
Blob Blame History Raw
#!/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 \
    "$@"