X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=dist.sh;h=fdd1e5d2f933f1c8742dcd4d8d771b38730ab9ab;hb=ebdbab6ff09e30b2fef66afd1206af967fea833c;hp=f48251e36059fd6bf0a0acb8832e9459060caac3;hpb=29afecb48f6525e42d03946e321501519ce86a3e;p=jfinancials-lib.git diff --git a/dist.sh b/dist.sh index f48251e..fdd1e5d 100755 --- a/dist.sh +++ b/dist.sh @@ -1,23 +1,111 @@ -#!/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