[jbpm-commits] JBoss JBPM SVN: r6854 - jbpm3/branches/jbpm-3.2-soa/ci.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Dec 1 18:05:01 EST 2010


Author: alex.guizar at jboss.com
Date: 2010-12-01 18:05:01 -0500 (Wed, 01 Dec 2010)
New Revision: 6854

Modified:
   jbpm3/branches/jbpm-3.2-soa/ci/container.sh
Log:
inline run.sh into container.sh to properly capture jbossas pid

Modified: jbpm3/branches/jbpm-3.2-soa/ci/container.sh
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/ci/container.sh	2010-12-01 15:40:02 UTC (rev 6853)
+++ jbpm3/branches/jbpm-3.2-soa/ci/container.sh	2010-12-01 23:05:01 UTC (rev 6854)
@@ -14,6 +14,16 @@
 # SOURCE_REPO    JBoss distributions directory
 # MAVEN_SETTINGS Maven settings file; optional, defaults to ci/settings-qa.xml
 
+PROGNAME=`basename $0`
+
+#
+# Helper to puke
+#
+die() {
+  echo "$PROGNAME: $*"
+  exit 1
+}
+
 # Determine JBoss AS version
 case $CONTAINER in
   jboss405)
@@ -29,8 +39,7 @@
     JBOSS_VERSION=jboss-5.1.0.GA
     ;;
   *)
-    echo "ERROR: invalid container: $CONTAINER"
-    exit 1
+    die "Invalid container: $CONTAINER"
     ;;
 esac
 JBOSS_HOME=$WORKSPACE/$JBOSS_VERSION
@@ -40,13 +49,13 @@
 JAVA=$JAVA_HOME/bin/java
 JAVA_VERSION=`$JAVA -version 2>&1 | grep version | awk '{ print substr($3, 2, 3); }'`
 
+ORIG_JAVA=$JAVA
+ORIG_JAVA_HOME=$JAVA_HOME
+
 if [ $JAVA_VERSION = 1.4 ]; then
   # Switch to JDK 1.5 for building and installing jBPM
-  ORIG_JAVA_HOME=$JAVA_HOME
   JAVA=$JAVA_15_HOME/bin/java
   export JAVA_HOME=$JAVA_15_HOME
-else
-  ORIG_JAVA_HOME=$JAVA_HOME
 fi
 
 # Set up Maven
@@ -64,8 +73,7 @@
 mvn -U -s $MAVEN_SETTINGS -Pdistro -Djbpm.home=$WORKSPACE/jbpm-$JBPM_VERSION \
   -Dcontainer=$CONTAINER -Djboss.home=$JBOSS_HOME -Djboss.server=$JBOSS_SERVER clean install
 if [ $? -ne 0 ]; then
-  echo "ERROR: failed to build distro"
-  exit 1
+  die "Failed to build distro"
 fi
 
 # Install JBoss AS 
@@ -76,8 +84,7 @@
 $JAVA -jar distribution/target/jbpm-distribution-$JBPM_VERSION-installer.jar \
   distribution/target/classes/auto-install-template.xml
 if [ $? -ne 0 ]; then
-  echo "ERROR: failed to install distro"
-  exit 1
+  die "Failed to install distro"
 fi
 
 # Fetch proprietary JDBC drivers
@@ -90,15 +97,13 @@
   if [ -f $DB2JCC_JAR ]; then
   	ln -s $DB2JCC_JAR $JBOSS_HOME/server/$JBOSS_SERVER/lib
   else
-    echo "ERROR: DB2 driver not found: $DB2JCC_JAR"
-    exit 1
+    die "DB2 driver not found: $DB2JCC_JAR"
   fi
   DB2JCC_LICENSE=~/.m2/repository/com/ibm/db2jcc_license_cu/$DB2JCC_VERSION/db2jcc_license_cu-$DB2JCC_VERSION.jar
   if [ -f $DB2JCC_LICENSE ]; then
   	ln -s $DB2JCC_LICENSE $JBOSS_HOME/server/$JBOSS_SERVER/lib
   else
-    echo "ERROR: DB2 driver license not found: $DB2JCC_LICENSE"
-    exit 1
+    die "DB2 driver license not found: $DB2JCC_LICENSE"
   fi
 fi
 
@@ -109,8 +114,7 @@
   if [ -f $MSJDBC_JAR ]; then
   	ln -s $MSJDBC_JAR $JBOSS_HOME/server/$JBOSS_SERVER/lib
   else
-    echo "ERROR: SQL Server driver not found: $MSJDBC_JAR"
-    exit 1
+    die "SQL Server driver not found: $MSJDBC_JAR"
   fi
 fi
 
@@ -121,8 +125,7 @@
   if [ -f $OJDBC_JAR ]; then
     ln -s $OJDBC_JAR $JBOSS_HOME/server/$JBOSS_SERVER/lib
   else
-    echo "ERROR: Oracle driver not found: $OJDBC_JAR"
-    exit 1
+    die "Oracle driver not found: $OJDBC_JAR"
   fi
 fi
 
@@ -133,34 +136,60 @@
   if [ -f $JCONNECT_JAR ]; then
     ln -s $JCONNECT_JAR $JBOSS_HOME/server/$JBOSS_SERVER/lib
   else
-    echo "ERROR: Sybase driver not found: $JCONNECT_JAR"
-    exit 1
+    die "Sybase driver not found: $JCONNECT_JAR"
   fi
 fi
 
 # Switch back to JDK 1.4 for running test suite
 export JAVA_HOME=$ORIG_JAVA_HOME
+JAVA=$ORIG_JAVA
 
-# Start JBoss AS
-$JBOSS_HOME/bin/run.sh -b $MYTESTIP_1 -c $JBOSS_SERVER -g jbpm3-$CONTAINER-$DATABASE \
-  -u $MCAST_ADDR &> /dev/null &
+# BEGIN section taken from run.sh
 
-# Symlink log files
-ln -sf $JBOSS_HOME/server/$JBOSS_SERVER/log/boot.log $WORKSPACE
+# Force IPv4 on Linux systems since IPv6 doesn't work correctly with jdk5 and lower
+JAVA_OPTS="-Djava.net.preferIPv4Stack=true"
+
+# Setup the classpath
+runjar="$JBOSS_HOME/bin/run.jar"
+if [ ! -f "$runjar" ]; then
+	die "Missing required file: $runjar"
+fi
+JBOSS_CLASSPATH="$runjar"
+
+# Setup JBoss specific properties
+JAVA_OPTS="-Dprogram.name=$PROGNAME $JAVA_OPTS"
+
+# Setup the java endorsed dirs
+JBOSS_ENDORSED_DIRS="$JBOSS_HOME/lib/endorsed"
+
+# Execute the JVM in the background
+$JAVA $JAVA_OPTS -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" -classpath "$JBOSS_CLASSPATH" \
+  org.jboss.Main -b $MYTESTIP_1 -c $JBOSS_SERVER -g jbpm3-$CONTAINER-$DATABASE -u $MCAST_ADDR \
+  &> /dev/null &
+JBOSS_PID=$!
+
+# END section adapted from run.sh
+
+# Symlink server log file
 ln -sf $JBOSS_HOME/server/$JBOSS_SERVER/log/server.log $WORKSPACE
 
 # Was it successfully started?
-wget --spider --retry-connrefused --tries=24 --waitretry=24 $MYTESTIP_1:8080
-if [ $? -ne 0 ]; then
-  echo '***BOOT LOG***' ; tail -n 100 $WORKSPACE/boot.log
-  echo '***SERVER LOG***' ; tail -n 100 $WORKSPACE/server.log
-  kill $!
-  exit 1
-fi
+for (( TRY=1 ; ; TRY++ )); do
+  curl --head --fail http://$MYTESTIP_1:8080/jbpm-console
+  if [ $? -eq 0 ]; then
+    break
+  elif [ $TRY -lt 5 ]; then
+    sleep 30
+  else
+    tail -n 100 $WORKSPACE/server.log
+    kill $JBOSS_PID
+    die "JBoss AS failed to start"
+  fi
+done
 
 # Run enterprise test suite
 mvn -f enterprise/pom.xml -s $MAVEN_SETTINGS -Djboss.bind.address=$MYTESTIP_1 \
-  -Dsurefire.jvm.args="-Xms64m -Xmx256m" verify | tee $WORKSPACE/tests.log
+  verify | tee $WORKSPACE/tests.log
 
 # Stop JBoss AS
 $JBOSS_HOME/bin/shutdown.sh -s jnp://$MYTESTIP_1:1099 -S



More information about the jbpm-commits mailing list