]> git.mxchange.org Git - jcustomer-core.git/blobdiff - dist.sh
Updated copyright year
[jcustomer-core.git] / dist.sh
diff --git a/dist.sh b/dist.sh
index f48251e36059fd6bf0a0acb8832e9459060caac3..fdd1e5d2f933f1c8742dcd4d8d771b38730ab9ab 100755 (executable)
--- a/dist.sh
+++ b/dist.sh
-#!/bin/sh
+#!/bin/bash
 
+# Name of this project, detected by it's base path
 NAME="${PWD##*/}"
+
+# Generated JAR file
 DIST="dist/${NAME}.jar"
-LIST=`find ../*/lib/${NAME}.jar`
-LIST="${LIST} `find ../*/*-ejb/lib/${NAME}.jar`"
-LIST="${LIST} ${HOME}/gf_domains/domain1/lib/"
 
-for target in ${LIST};
-do
-       if [ ! -f "${DIST}" ]
+# Configuration file
+DIST_CONFIG_FILE="${HOME}/.jprojects-dist.sh"
+
+# WildFly module base path
+WILDFLY_MODULE_BASE_PATH="${HOME}/wildfly_domain/modules/org/mxchange"
+
+# And for this "module" (as WildFly calls it)
+WILDFLY_MODULE_PATH="${WILDFLY_MODULE_BASE_PATH}/${NAME}/main"
+
+# module.xml
+WILDFLY_MODULE_XML_FILE="wildfly/module.xml"
+
+# Glassfish base path (domain)
+GLASSFISH_BASE_PATH="${HOME}/gf_domain/lib"
+
+# Windows personal domain
+PERSONAL_DOMAIN_PATH="${HOME}/personal_domain/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 for SSH upload:"
+       echo "- GLASSFISH_SSH_PATH"
+       echo "- GLASSFISH_SSH_USER"
+       echo "- GLASSFISH_SSH_SERVER"
+       echo
+       echo "And create a password-less SSH key."
+       sleep 3
+else
+       # Load it
+       source "${DIST_CONFIG_FILE}"
+fi
+
+# Generate list
+LIST=$(find ../*/lib/${NAME}.jar)
+LIST="${LIST} ${WILDFLY_MODULE_PATH}"
+
+if [ "${NAME}" != "jcore" -a "${NAME}" != "jcore-swing" ]
+then
+       if [ -d "${GLASSFISH_BASE_PATH}" ]
        then
-               echo "$0: '${DIST}' not found."
-       elif [ -d "${target}" ]
+               echo "$0: Glassfish personal domain found, adding to LIST ..."
+               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
+else
+       echo "$0: Not going to add '${NAME}' to distribution list, is JavaSE project."
+fi
+
+if [ ! -f "${DIST}" ]
+then
+       echo "$0: '${DIST}' not found."
+       exit 1
+elif [ ! -d "${WILDFLY_MODULE_BASE_PATH}" ]
+then
+       echo "$0: WildFly base path '${WILDFLY_MODULE_BASE_PATH}' not created."
+elif [ ! -d "${WILDFLY_MODULE_PATH}" ]
+then
+       mkdir -vp "${WILDFLY_MODULE_PATH}"
+fi
+
+for project in ${LIST};
+do
+       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 [ "$1" = "r" -o "${NAME}" = "jcore" -o "${NAME}" = "jcore-swing" ]
+then
+       echo "$0: Not uploading '${NAME}' or parameter 'r' provided."
+elif [ -n "${GLASSFISH_SSH_USER}" -a -n "${GLASSFISH_SSH_SERVER}" -a -n "${GLASSFISH_SSH_PATH}" ]
+then
+       echo "$0: Copying to remote '${GLASSFISH_SSH_SERVER}' ..."
+       scp "${DIST}" "${GLASSFISH_SSH_USER}@${GLASSFISH_SSH_SERVER}:${GLASSFISH_SSH_PATH}" || exit 255
+else
+       echo "$0: SSH upload disabled."
+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="${XML_CONTENT//NAME/$NAME}"
+       echo "${XML_CONTENT}" > "${WILDFLY_MODULE_PATH}/module.xml"
+fi
+
+echo "$0: All done."
+exit 0