Some fixes:
[jprojects-scripts.git] / dist.sh
diff --git a/dist.sh b/dist.sh
index 0bdc4a4324b99914642cb6633dcf4ff23144330a..5097f6f56c613de3a1c900fc5d4d881c8854f02f 100755 (executable)
--- a/dist.sh
+++ b/dist.sh
@@ -6,6 +6,9 @@ NAME="${PWD##*/}"
 # Generated JAR file
 DIST="dist/${NAME}.jar"
 
+# Configuration file
+DIST_CONFIG_FILE="${HOME}/.jprojects-dist.sh"
+
 # WildFly module base path
 WILDFLY_MODULE_BASE_PATH="${HOME}/wildfly_domain/modules/org/mxchange"
 
@@ -16,17 +19,45 @@ WILDFLY_MODULE_PATH="${WILDFLY_MODULE_BASE_PATH}/${NAME}/main"
 WILDFLY_MODULE_XML_FILE="wildfly/module.xml"
 
 # Glassfish base path (domain)
-GLASSFISH_BASE_PATH="${HOME}/gf_domain/domain/lib"
+GLASSFISH_BASE_PATH="${HOME}/gf_domain/lib"
+
+# Windows personal domain
+PERSONAL_DOMAIN_PATH="${HOME}/personal_domain/lib"
 
-# Remote Glassfish path
-GLASSFISH_SSH_PATH="/var/glassfish/domains/domain1/lib"
+# Is the configuration file there?
+if [ ! -f "${DIST_CONFIG_FILE}" ]
+then
+       echo "$0: Configuration file '${DIST_CONFIG_FILE}' not found"
+       echo
+       echo "Following variables are needed:"
+       echo "- GLASSFISH_SSH_PATH"
+       echo "- GLASSFISH_SSH_USER"
+       echo "- GLASSFISH_SSH_SERVER"
+       echo
+       echo "And create a password-less SSH key."
+       exit 1
+fi
 
-# Remote SSH server (password-less access)
-GLASSFISH_SSH_SERVER="www.mxchange.org"
+# Load it
+source "${DIST_CONFIG_FILE}"
+
+# All set?
+if [ -z "${GLASSFISH_SSH_PATH}" ]
+then
+       echo "$0: Variable GLASSFISH_SSH_PATH not set."
+       exit 1
+elif [ -z "${GLASSFISH_SSH_USER}" ]
+then
+       echo "$0: Variable GLASSFISH_SSH_USER not set."
+       exit 1
+elif [ -z "${GLASSFISH_SSH_SERVER}" ]
+then
+       echo "$0: Variable GLASSFISH_SSH_SERVER not set."
+       exit 1
+fi
 
 # Generate list
-LIST=`find ../*/lib/${NAME}.jar`
-LIST="${LIST} `find ../*/*-ejb/lib/${NAME}.jar`"
+LIST=$(find ../*/lib/${NAME}.jar)
 LIST="${LIST} ${WILDFLY_MODULE_PATH}"
 
 if [ -d "${GLASSFISH_BASE_PATH}" ]
@@ -35,6 +66,12 @@ then
        LIST="${LIST} ${GLASSFISH_BASE_PATH}"
 fi
 
+if [ -d "${PERSONAL_DOMAIN_PATH}" ]
+then
+       echo "$0: Personal domain found, adding to LIST ..."
+       LIST="${LIST} ${PERSONAL_DOMAIN_PATH}"
+fi
+
 if [ ! -f "${DIST}" ]
 then
        echo "$0: '${DIST}' not found."
@@ -42,37 +79,36 @@ then
 elif [ ! -d "${WILDFLY_MODULE_BASE_PATH}" ]
 then
        echo "$0: WildFly base path '${WILDFLY_MODULE_BASE_PATH}' not created."
-       exit 1
 elif [ ! -d "${WILDFLY_MODULE_PATH}" ]
 then
        mkdir -vp "${WILDFLY_MODULE_PATH}"
 fi
 
-for target in ${LIST};
+for project in ${LIST};
 do
-       if [ -d "${target}" ]
+       if [ -d "${project}" ]
        then
-               cp -v "${DIST}" "${target}"
-       elif [ -f "${target}" ]
+               cp -v "${DIST}" "${project}"
+       elif [ -f "${project}" ]
        then
-               cp -v "${DIST}" "${target}"
+               cp -v "${DIST}" "${project}"
        else
-               echo "$0: Target '${target}' not found."
+               echo "$0: Project '${project}' not found."
        fi
 
 done
 
-if [ -n "${GLASSFISH_SSH_PATH}" -a -n "${GLASSFISH_SSH_SERVER}" ]
+if [ "$1" != "r" -a "${NAME}" != "jcore" -a "${NAME}" != "jcore-swing" ]
 then
        echo "$0: Copying to remote '${GLASSFISH_SSH_SERVER}' ..."
-       scp "${DIST}" "${GLASSFISH_SSH_SERVER}:${GLASSFISH_SSH_PATH}"
+       scp "${DIST}" "${GLASSFISH_SSH_USER}@${GLASSFISH_SSH_SERVER}:${GLASSFISH_SSH_PATH}"
 fi
 
 # Copy module.xml ...
 if [ -f "${WILDFLY_MODULE_XML_FILE}" ]
 then
        echo "$0: Generating module.xml ..."
-       XML_CONTENT=`cat "${WILDFLY_MODULE_XML_FILE}"`
+       XML_CONTENT=$(cat "${WILDFLY_MODULE_XML_FILE}")
        XML_CONTENT="${XML_CONTENT//NAME/$NAME}"
        echo "${XML_CONTENT}" > "${WILDFLY_MODULE_PATH}/module.xml"
 fi