Author: brianf
Date: Mon Oct 22 18:17:11 2007
New Revision: 587349

URL: http://svn.apache.org/viewvc?rev=587349&view=rev
Log:
MNG-2105: add debug scripts

Added:
    maven/components/branches/maven-2.0.x/maven-core/src/bin/mvnDebug
    maven/components/branches/maven-2.0.x/maven-core/src/bin/mvnDebug.bat

Added: maven/components/branches/maven-2.0.x/maven-core/src/bin/mvnDebug
URL: 
http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/src/bin/mvnDebug?rev=587349&view=auto
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core/src/bin/mvnDebug (added)
+++ maven/components/branches/maven-2.0.x/maven-core/src/bin/mvnDebug Mon Oct 
22 18:17:11 2007
@@ -0,0 +1,169 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven2 Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+#   JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+#   M2_HOME - location of maven2's installed home dir
+#   MAVEN_OPTS - parameters passed to the Java VM when running Maven
+#     e.g. to debug Maven itself, use
+#       set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE 
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# ----------------------------------------------------------------------------
+
+ORIG_MAVEN_OPTS=$MAVEN_OPTS
+MAVEN_OPTS=$ORIG_MAVEN_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE 
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+
+echo Preparing to Execute Maven in Debug Mode
+
+QUOTED_ARGS=""
+while [ "$1" != "" ] ; do
+
+  QUOTED_ARGS="$QUOTED_ARGS \"$1\""
+  shift
+
+done
+
+if [ -f /etc/mavenrc ] ; then
+  . /etc/mavenrc
+fi
+
+if [ -f "$HOME/.mavenrc" ] ; then
+  . "$HOME/.mavenrc"
+fi
+
+# OS specific support.  $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true 
+           if [ -z "$JAVA_VERSION" ] ; then
+             JAVA_VERSION="CurrentJDK"
+           else
+             echo "Using Java version: $JAVA_VERSION"
+           fi
+           if [ -z "$JAVA_HOME" ] ; then
+             
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
+           fi
+           ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+if [ -z "$M2_HOME" ] ; then
+  ## resolve links - $0 may be a link to maven's home
+  PRG="$0"
+
+  # need this for relative symlinks
+  while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+      PRG="$link"
+    else
+      PRG="`dirname "$PRG"`/$link"
+    fi
+  done
+
+  saveddir=`pwd`
+
+  M2_HOME=`dirname "$PRG"`/..
+
+  # make it fully qualified
+  M2_HOME=`cd "$M2_HOME" && pwd`
+
+  cd "$saveddir"
+  # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME=`cygpath --unix "$M2_HOME"`
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$CLASSPATH" ] &&
+    CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME="`(cd "$M2_HOME"; pwd)`"
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+  # TODO classpath?
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD=java
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo "  We cannot execute $JAVACMD"
+  exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+  echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.classworlds.Launcher
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME=`cygpath --path --windows "$M2_HOME"`
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+  [ -n "$HOME" ] &&
+    HOME=`cygpath --path --windows "$HOME"`
+fi
+
+exec "$JAVACMD" \
+  $MAVEN_OPTS \
+  -classpath "${M2_HOME}"/boot/classworlds-*.jar \
+  "-Dclassworlds.conf=${M2_HOME}/bin/m2.conf" \
+  "-Dmaven.home=${M2_HOME}"  \
+  ${CLASSWORLDS_LAUNCHER} $QUOTED_ARGS
+
+ MAVEN_OPTS=$ORIG_MAVEN_OPTS

Added: maven/components/branches/maven-2.0.x/maven-core/src/bin/mvnDebug.bat
URL: 
http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/src/bin/mvnDebug.bat?rev=587349&view=auto
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core/src/bin/mvnDebug.bat 
(added)
+++ maven/components/branches/maven-2.0.x/maven-core/src/bin/mvnDebug.bat Mon 
Oct 22 18:17:11 2007
@@ -0,0 +1,177 @@
[EMAIL PROTECTED] 
----------------------------------------------------------------------------
[EMAIL PROTECTED] Licensed to the Apache Software Foundation (ASF) under one
[EMAIL PROTECTED] or more contributor license agreements.  See the NOTICE file
[EMAIL PROTECTED] distributed with this work for additional information
[EMAIL PROTECTED] regarding copyright ownership.  The ASF licenses this file
[EMAIL PROTECTED] to you under the Apache License, Version 2.0 (the
[EMAIL PROTECTED] "License"); you may not use this file except in compliance
[EMAIL PROTECTED] with the License.  You may obtain a copy of the License at
[EMAIL PROTECTED]
[EMAIL PROTECTED]    http://www.apache.org/licenses/LICENSE-2.0
[EMAIL PROTECTED]
[EMAIL PROTECTED] Unless required by applicable law or agreed to in writing,
[EMAIL PROTECTED] software distributed under the License is distributed on an
[EMAIL PROTECTED] "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
[EMAIL PROTECTED] KIND, either express or implied.  See the License for the
[EMAIL PROTECTED] specific language governing permissions and limitations
[EMAIL PROTECTED] under the License.
[EMAIL PROTECTED] 
----------------------------------------------------------------------------
+
[EMAIL PROTECTED] 
----------------------------------------------------------------------------
[EMAIL PROTECTED] Maven2 Start Up Batch script
[EMAIL PROTECTED]
[EMAIL PROTECTED] Required ENV vars:
[EMAIL PROTECTED] JAVA_HOME - location of a JDK home dir
[EMAIL PROTECTED]
[EMAIL PROTECTED] Optional ENV vars
[EMAIL PROTECTED] M2_HOME - location of maven2's installed home dir
[EMAIL PROTECTED] MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the 
batch commands
[EMAIL PROTECTED] MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke 
before ending
[EMAIL PROTECTED] MAVEN_OPTS - parameters passed to the Java VM when running 
Maven
[EMAIL PROTECTED]     e.g. to debug Maven itself, use
[EMAIL PROTECTED] set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE 
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
[EMAIL PROTECTED] 
----------------------------------------------------------------------------
+
+set ORIG_MAVEN_OPTS=%MAVEN_OPTS%
+set MAVEN_OPTS=%ORIG_MAVEN_OPTS% -Xdebug -Xnoagent -Djava.compiler=NONE 
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
[EMAIL PROTECTED] Preparing to Execute Maven in Debug Mode
+
[EMAIL PROTECTED] Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
[EMAIL PROTECTED] off
[EMAIL PROTECTED] enable echoing my setting MAVEN_BATCH_ECHO to 'on'
[EMAIL PROTECTED] "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO%
+
[EMAIL PROTECTED] set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set HOME=%HOMEDRIVE%%HOMEPATH%)
+
[EMAIL PROTECTED] Execute a user defined script before this one
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+
+set ERROR_CODE=0
+
[EMAIL PROTECTED] set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" @setlocal
+
[EMAIL PROTECTED] ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo ERROR: JAVA_HOME not found in your environment.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto chkMHome
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory.
+echo JAVA_HOME = %JAVA_HOME%
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation
+echo.
+goto error
+
+:chkMHome
+if not "%M2_HOME%"=="" goto valMHome
+
+if "%OS%"=="Windows_NT" SET M2_HOME=%~dp0\..
+if not "%M2_HOME%"=="" goto valMHome
+
+echo.
+echo ERROR: M2_HOME not found in your environment.
+echo Please set the M2_HOME variable in your environment to match the
+echo location of the Maven installation
+echo.
+goto error
+
+:valMHome
+if exist "%M2_HOME%\bin\mvn.bat" goto init
+
+echo.
+echo ERROR: M2_HOME is set to an invalid directory.
+echo M2_HOME = %M2_HOME%
+echo Please set the M2_HOME variable in your environment to match the
+echo location of the Maven installation
+echo.
+goto error
[EMAIL PROTECTED] ==== END VALIDATION ====
+
+:init
[EMAIL PROTECTED] Decide how to startup depending on the version of windows
+
[EMAIL PROTECTED] -- Win98ME
+if NOT "%OS%"=="Windows_NT" goto Win9xArg
+
[EMAIL PROTECTED] -- 4NT shell
+if "[EMAIL PROTECTED]" == "4" goto 4NTArgs
+
[EMAIL PROTECTED] -- Regular WinNT shell
+set MAVEN_CMD_LINE_ARGS=%*
+goto endInit
+
[EMAIL PROTECTED] The 4NT Shell from jp software
+:4NTArgs
+set MAVEN_CMD_LINE_ARGS=%$
+goto endInit
+
+:Win9xArg
[EMAIL PROTECTED] Slurp the command line arguments.  This loop allows for an 
unlimited number
[EMAIL PROTECTED] of agruments (up to the command line limit, anyway).
+set MAVEN_CMD_LINE_ARGS=
+:Win9xApp
+if %1a==a goto endInit
+set MAVEN_CMD_LINE_ARGS=%MAVEN_CMD_LINE_ARGS% %1
+shift
+goto Win9xApp
+
[EMAIL PROTECTED] Reaching here means variables are defined and arguments have 
been captured
+:endInit
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+
[EMAIL PROTECTED] -- 4NT shell
+if "[EMAIL PROTECTED]" == "4" goto 4NTCWJars
+
[EMAIL PROTECTED] -- Regular WinNT shell
+for %%i in ("%M2_HOME%"\boot\classworlds-*) do set CLASSWORLDS_JAR="%%i"
+goto runm2
+
[EMAIL PROTECTED] The 4NT Shell from jp software
+:4NTCWJars
+for %%i in ("%M2_HOME%\boot\classworlds-*") do set CLASSWORLDS_JAR="%%i"
+goto runm2
+
[EMAIL PROTECTED] Start MAVEN2
+:runm2
+
+%MAVEN_JAVA_EXE% %MAVEN_OPTS% -classpath %CLASSWORLDS_JAR% 
"-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Dmaven.home=%M2_HOME%" 
org.codehaus.classworlds.Launcher %MAVEN_CMD_LINE_ARGS%
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+if "%OS%"=="Windows_NT" @endlocal
+set ERROR_CODE=1
+
+:end
[EMAIL PROTECTED] set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" goto endNT
+
[EMAIL PROTECTED] For old DOS remove the set variables from ENV - we assume 
they were not set
[EMAIL PROTECTED] before we started - at least we don't leave any baggage around
+set MAVEN_JAVA_EXE=
+set MAVEN_CMD_LINE_ARGS=
+goto postExec
+
+:endNT
[EMAIL PROTECTED]
+
+:postExec
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
[EMAIL PROTECTED] pause the batch file if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+set MAVEN_OPTS=%ORIG_MAVEN_OPTS%
+exit /B %ERROR_CODE%
+


Reply via email to