Index: issm/trunk-jpl/packagers/linux/package-issm-linux-binaries-matlab.sh
===================================================================
--- issm/trunk-jpl/packagers/linux/package-issm-linux-binaries-matlab.sh	(revision 25809)
+++ issm/trunk-jpl/packagers/linux/package-issm-linux-binaries-matlab.sh	(revision 25896)
@@ -2,21 +2,19 @@
 
 ################################################################################
-# To be used after running,
-#
-#	${ISSM_DIR}/jenkins/jenkins.sh ${ISSM_DIR}/jenkins/ross-debian_linux-binaries-matlab
-#
-# in the context of a Jenkins project.
-#
-# When no runtime errors occur, performs the following:
-# - Checks resulting executables and libraries against test suite.
-# - Packages and compresses executables and libraries.
-# - Transmits it to ISSM Web site for distribution.
+# Packages and tests ISSM distributable package for Linux with MATLAB API.
 #
 # Options:
-# -s/--skiptests		Skip tests (use if this script fails for some reason 
-#						after tests have successfully passed to save time)
-# -t/--transferonly		Transfer package to ISSM Web site only (use if 
-#						transfer fails for some reason to skip testing and
-#						signing)
+# -s/--skiptests		Skip testing during packaging Use if packaging fails 
+#						for some reason but build is valid.
+#
+# NOTE:
+# - Assumes that the following constants are defined,
+#
+#		COMPRESSED_PKG
+#		ISSM_DIR
+#		PKG
+#
+# See also:
+# - packagers/linux/complete-issm-linux-binaries-matlab.sh
 ################################################################################
 
@@ -34,7 +32,4 @@
 MATLAB_NROPTIONS="'benchmark','all','exclude',[125,126,234,235,418,420,435,444,445,701,702,703,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1201,1202,1203,1204,1205,1206,1207,1208,1301,1302,1303,1304,1401,1402,1601,1602,2002,2003,2005,2006,2010,2020,2021,2051,2052,2053,2101,2102,3001:3200,3201,3202,3300,3480,3481,4001,4002,4003]" # NOTE: Combination of test suites from basic, Dakota, and Solid Earth builds, with tests that require a restart and those that require the JVM excluded
 MATLAB_PATH="/usr/local/MATLAB/R2019b"
-PKG="ISSM-Linux-MATLAB" # Name of directory to copy distributable files to
-
-COMPRESSED_PKG="${PKG}.tar.gz"
 
 ## Environment
@@ -50,136 +45,121 @@
 
 skip_tests=0
-transfer_only=0
 while [ $# -gt 0 ]; do
     case $1 in
-        -s|--skiptests) skip_tests=1; shift ;;
-        -t|--transferonly) transfer_only=1; shift ;;
-        *) echo "Unknown parameter passed: $1"; exit 1 ;;
+        -s|--skiptests) skip_tests=1;					;;
+        *) echo "Unknown parameter passed: $1"; exit 1	;;
     esac
     shift
 done
 
-if [ ${transfer_only} -eq 0 ]; then
-	# Check if MATLAB exists
-	if ! [ -d ${MATLAB_PATH} ]; then
-		echo "${MATLAB_PATH} does not point to a MATLAB installation! Please modify MATLAB_PATH variable in $(basename $0) and try again."
+# Check if MATLAB exists
+if ! [ -d ${MATLAB_PATH} ]; then
+	echo "${MATLAB_PATH} does not point to a MATLAB installation! Please modify MATLAB_PATH variable in $(basename $0) and try again."
+	exit 1
+fi
+
+# Clean up from previous packaging
+echo "Cleaning up existing assets"
+cd ${ISSM_DIR}
+rm -rf ${PKG} ${COMPRESSED_PKG}
+mkdir ${PKG}
+
+# Add/modify required binaries and libraries
+cd ${ISSM_DIR}/bin
+
+echo "Modify generic"
+cat generic_static.m | sed -e "s/generic_static/generic/g" > generic.m
+
+echo "Moving MPICH binaries to bin/"
+if [ -f ${ISSM_DIR}/externalpackages/petsc/install/bin/mpiexec ]; then
+	cp ${ISSM_DIR}/externalpackages/petsc/install/bin/mpiexec .
+	cp ${ISSM_DIR}/externalpackages/petsc/install/bin/hydra_pmi_proxy .
+elif [ -f ${ISSM_DIR}/externalpackages/mpich/install/bin/mpiexec ]; then
+	cp ${ISSM_DIR}/externalpackages/mpich/install/bin/mpiexec .
+	cp ${ISSM_DIR}/externalpackages/mpich/install/bin/hydra_pmi_proxy .
+else
+	echo "MPICH not found"
+	exit 1
+fi
+
+echo "Moving GDAL binaries to bin/"
+if [ -f ${ISSM_DIR}/externalpackages/gdal/install/bin/gdal-config ]; then
+	cp ${ISSM_DIR}/externalpackages/gdal/install/bin/gdalsrsinfo .
+	cp ${ISSM_DIR}/externalpackages/gdal/install/bin/gdaltransform .
+else
+	echo "GDAL not found"
+	exit 1
+fi
+
+echo "Moving GMT binaries to bin/"
+if [ -f ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt-config ]; then
+	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt .
+	cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmtselect .
+else
+	echo "GMT not found"
+	exit 1
+fi
+
+echo "Moving Gmsh binaries to bin/"
+if [ -f ${ISSM_DIR}/externalpackages/gmsh/install/bin/gmsh ]; then
+	cp ${ISSM_DIR}/externalpackages/gmsh/install/bin/gmsh .
+else
+	echo "Gmsh not found"
+	exit 1
+fi
+
+echo "Moving libgfortran to lib/"
+cp ${LIBGFORTRAN} ${LIBGFORTRAN_DIST} 2> /dev/null
+
+# Run tests
+if [ ${skip_tests} -eq 0 ]; then
+	echo "Running tests"
+	cd ${ISSM_DIR}/test/NightlyRun
+	rm matlab.log 2> /dev/null
+
+	# Run tests, redirecting output to logfile and suppressing output to console
+	${MATLAB_PATH}/bin/matlab -nojvm -nosplash -r "try, addpath ${ISSM_DIR}/bin ${ISSM_DIR}/lib; runme(${MATLAB_NROPTIONS}); exit; catch me,fprintf('%s',getReport(me)); exit; end" -logfile matlab.log &> /dev/null
+
+	# Check that MATLAB did not exit in error
+	matlabExitCode=`echo $?`
+	matlabExitedInError=`grep -E "Activation cannot proceed|Error in matlab_run" matlab.log | wc -l`
+
+	if [[ ${matlabExitCode} -ne 0 || ${matlabExitedInError} -ne 0 ]]; then
+		echo "----------MATLAB exited in error!----------"
+		cat matlab.log
+		echo "-----------End of matlab.log-----------"
+
+		# Clean up execution directory
+		rm -rf ${ISSM_DIR}/execution/*
+
 		exit 1
 	fi
 
-	# Clean up from previous packaging
-	echo "Cleaning up existing assets"
-	cd ${ISSM_DIR}
-	rm -rf ${PKG} ${COMPRESSED_PKG}
-	mkdir ${PKG}
+	# Check that all tests passed
+	numTestsFailed=`cat matlab.log | grep -c -e "FAILED|ERROR"`
 
-	# Add/modify required binaries and libraries
-	cd ${ISSM_DIR}/bin
-
-	echo "Modify generic"
-	cat generic_static.m | sed -e "s/generic_static/generic/g" > generic.m
-
-	echo "Moving MPICH binaries to bin/"
-	if [ -f ${ISSM_DIR}/externalpackages/petsc/install/bin/mpiexec ]; then
-		cp ${ISSM_DIR}/externalpackages/petsc/install/bin/mpiexec .
-		cp ${ISSM_DIR}/externalpackages/petsc/install/bin/hydra_pmi_proxy .
-	elif [ -f ${ISSM_DIR}/externalpackages/mpich/install/bin/mpiexec ]; then
-		cp ${ISSM_DIR}/externalpackages/mpich/install/bin/mpiexec .
-		cp ${ISSM_DIR}/externalpackages/mpich/install/bin/hydra_pmi_proxy .
+	if [[ ${numTestsFailed} -ne 0 ]]; then
+		echo "One or more tests FAILED"
+		exit 1
 	else
-		echo "MPICH not found"
-		exit 1
+		echo "All tests PASSED"
 	fi
-
-	echo "Moving GDAL binaries to bin/"
-	if [ -f ${ISSM_DIR}/externalpackages/gdal/install/bin/gdal-config ]; then
-		cp ${ISSM_DIR}/externalpackages/gdal/install/bin/gdalsrsinfo .
-		cp ${ISSM_DIR}/externalpackages/gdal/install/bin/gdaltransform .
-	else
-		echo "GDAL not found"
-		exit 1
-	fi
-
-	echo "Moving GMT binaries to bin/"
-	if [ -f ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt-config ]; then
-		cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmt .
-		cp ${ISSM_DIR}/externalpackages/gmt/install/bin/gmtselect .
-	else
-		echo "GMT not found"
-		exit 1
-	fi
-
-	echo "Moving Gmsh binaries to bin/"
-	if [ -f ${ISSM_DIR}/externalpackages/gmsh/install/bin/gmsh ]; then
-		cp ${ISSM_DIR}/externalpackages/gmsh/install/bin/gmsh .
-	else
-		echo "Gmsh not found"
-		exit 1
-	fi
-
-	echo "Moving libgfortran to lib/"
-	cp ${LIBGFORTRAN} ${LIBGFORTRAN_DIST} 2> /dev/null
-
-
-	# Run tests
-	if [ ${skip_tests} -eq 0 ]; then
-		echo "Running tests"
-		cd ${ISSM_DIR}/test/NightlyRun
-		rm matlab.log 2> /dev/null
-
-		# Run tests, redirecting output to logfile and suppressing output to console
-		${MATLAB_PATH}/bin/matlab -nojvm -nosplash -r "try, addpath ${ISSM_DIR}/bin ${ISSM_DIR}/lib; runme(${MATLAB_NROPTIONS}); exit; catch me,fprintf('%s',getReport(me)); exit; end" -logfile matlab.log &> /dev/null
-
-		# Check that MATLAB did not exit in error
-		matlabExitCode=`echo $?`
-		matlabExitedInError=`grep -E "Activation cannot proceed|license|Error" matlab.log | wc -l`
-
-		if [[ ${matlabExitCode} -ne 0 || ${matlabExitedInError} -ne 0 ]]; then
-			echo "----------MATLAB exited in error!----------"
-			cat matlab.log
-			echo "-----------End of matlab.log-----------"
-
-			# Clean up execution directory
-			rm -rf ${ISSM_DIR}/execution/*
-
-			exit 1
-		fi
-
-		# Check that all tests passed
-		numTestsFailed=`cat matlab.log | grep -c -e "FAILED|ERROR"`
-
-		if [[ ${numTestsFailed} -ne 0 ]]; then
-			echo "One or more tests FAILED"
-			exit 1
-		else
-			echo "All tests PASSED"
-		fi
-	else
-		echo "Skipping tests"
-	fi
-
-	# Create package
-	cd ${ISSM_DIR}
-	svn cleanup --remove-ignored --remove-unversioned test # Clean up test directory (before copying to package)
-	echo "Copying assets to package: ${PKG}"
-	cp -rf bin examples lib scripts test ${PKG}/
-	mkdir ${PKG}/execution
-	echo "Cleaning up unneeded/unwanted files"
-	rm -f ${PKG}/bin/generic_static.* # Remove static versions of generic cluster classes
-	rm -f ${PKG}/lib/*.a # Remove static libraries from package
-	rm -f ${PKG}/lib/*.la # Remove libtool libraries from package
-	rm -rf ${PKG}/test/SandBox # Remove testing sandbox from package
-
-	# Compress package
-	echo "Compressing package"
-	tar -czf ${COMPRESSED_PKG} ${PKG}
-	ls -lah ${ISSM_DIR}/${COMPRESSED_PKG}
+else
+	echo "Skipping tests"
 fi
 
-# Transfer package to ISSM Web site
-echo "Transferring package to ISSM Web site"
-scp -i ~/.ssh/debian_linux-vm_to_ross ${COMPRESSED_PKG} jenkins@ross.ics.uci.edu:/var/www/html/${COMPRESSED_PKG}
+# Create package
+cd ${ISSM_DIR}
+svn cleanup --remove-ignored --remove-unversioned test # Clean up test directory (before copying to package)
+echo "Copying assets to package: ${PKG}"
+cp -rf bin examples lib scripts test ${PKG}/
+mkdir ${PKG}/execution
+echo "Cleaning up unneeded/unwanted files"
+rm -f ${PKG}/bin/generic_static.* # Remove static versions of generic cluster classes
+rm -f ${PKG}/lib/*.a # Remove static libraries from package
+rm -f ${PKG}/lib/*.la # Remove libtool libraries from package
+rm -rf ${PKG}/test/SandBox # Remove testing sandbox from package
 
-if [ $? -ne 0 ]; then
-	echo "Transfer failed! Verify connection then build this project again."
-	exit 1
-fi
+# Compress package
+echo "Compressing package"
+tar -czf ${COMPRESSED_PKG} ${PKG}
