X-Git-Url: https://code.grnet.gr/git/aquarium/blobdiff_plain/06be7386cf52b20c36657e340965fbe11c907bdb..90c51aac2507010265ee68a911133f638bbb6cb4:/make-dist.sh diff --git a/make-dist.sh b/make-dist.sh index 600d6cd..7ef3d65 100755 --- a/make-dist.sh +++ b/make-dist.sh @@ -48,6 +48,9 @@ P_PROPS="" P_BUILD="normal" P_KEEPDIST="no" P_FAKEIT="no" +P_ARCHIVE="" +P_OFFLINE="no" +MVN_OPTS="" verbose() { if [ "$P_VERBOSE" = "yes" ]; then @@ -56,10 +59,12 @@ verbose() { } verbose_p() { - verbose "Build type :" $P_BUILD - verbose "Custom properties:" $P_PROPS - verbose "Keep dist/ folder:" $P_KEEPDIST - verbose "Fake it :" $P_FAKEIT + verbose "Build type :" $P_BUILD + verbose "Custom configuration:" $P_PROPS + verbose "Keep dist/ folder :" $P_KEEPDIST + verbose "Custom achive name :" $P_ARCHIVE + verbose "Fake it :" $P_FAKEIT + verbose "maven offline mode :" $P_OFFLINE } fail() { @@ -67,6 +72,12 @@ fail() { exit 1 } +makedistname() { + if [ -n "$P_ARCHIVE" ]; then + DIST="$P_ARCHIVE" + fi +} + removedist() { local KEEP=$1 if [ "$KEEP" = "no" -a -e $DIST ]; then @@ -93,7 +104,8 @@ clean() { echo "=== mvn clean =================" echo "===============================" echo - mvn clean || fail "cleaning compilation artifacts" + echo mvn ${MVN_OPTS} clean + mvn ${MVN_OPTS} clean || fail "cleaning compilation artifacts" echo elif [ "$P_BUILD"="fast" ]; then echo @@ -105,7 +117,12 @@ clean() { } collectdeps() { - mvn dependency:copy-dependencies && cp target/dependency/*.jar $DIST/lib || fail "collecting dependencies" + if [ "$P_BUILD" = "normal" ]; then + echo mvn ${MVN_OPTS} dependency:copy-dependencies + mvn ${MVN_OPTS} dependency:copy-dependencies + fi + + cp target/dependency/*.jar $DIST/lib || fail "collecting dependencies" } build() { @@ -114,7 +131,8 @@ build() { echo "=== mvn package ===============" echo "===============================" echo - mvn package -DskipTests && { + echo mvn ${MVN_OPTS} package -DskipTests + mvn ${MVN_OPTS} package -DskipTests && { echo echo "Copying Aquarium classes" aquariumjar=`find target -type f|egrep "aquarium-[0-9\.]+(-SNAPSHOT)?\.jar"` @@ -126,8 +144,7 @@ collectconf() { echo echo Copying config files from $CONF_SRC echo - cp $CONF_SRC/log4j.properties $DIST/conf|| fail "copying log4j.properties" - cp $CONF_SRC/policy.yaml $DIST/conf || fail "copying policy.yaml" + cp $CONF_SRC/policy.yaml $DIST/conf || fail "copying policy.yaml" cp $CONF_SRC/roles-agreements.map $DIST/conf || fail "copying roles-agreements.map" if [ -n "$P_PROPS" ]; then @@ -142,6 +159,8 @@ collectscripts() { echo Copying scripts from $SERVER_SCRIPTS_SRC echo cp $SERVER_SCRIPTS_SRC/aquarium.sh $DIST/bin || fail "copying aquarium.sh" + cp $SERVER_SCRIPTS_SRC/start.sh $DIST/bin || fail "copying start.sh" + cp $SERVER_SCRIPTS_SRC/stop.sh $DIST/bin || fail "copying stop.sh" cp $SERVER_SCRIPTS_SRC/test.sh $DIST/bin || fail "copying test.sh" } @@ -150,43 +169,56 @@ gitmark() { } archive() { - ARC=$DIST.tar.gz + ARC="${DIST}.tar.gz" + + if [ -e "$ARC" ]; then + echo + echo Removing previous $ARC + rm "$ARC" + fi echo echo "Creating archive" - tar zcvf $ARC $DIST/ || fail "creating archive" + tar zcvf "$ARC" $DIST/ || fail "creating archive" echo "File $ARC created succesfully" echo "Cleaning up" - ls -al $ARC + ls -al "$ARC" } usage() { echo "Usage: $0 [options]" echo "" echo "OPTIONS:" + echo " -a NAME Use archive NAME." + echo " The full name will be NAME.tar.gz." echo " -b TYPE Use build TYPE. One of 'normal', 'fast'." echo " 'normal' is the default and can be omitted." echo " 'fast' means that it will not run mvn clean." + echo " -c FILE Use FILE as aquarium.properties configuration." echo " -k Keep generated dist folder." echo " -h Show this message." echo " -n As in make -n." - echo " -p FILE Use FILE as aquarium.properties." + echo " -o Use mvn in offline mode (--offline, -o)" echo " -v Be verbose." exit 0 } -while getopts ":b:hkp:nv" opt +while getopts ":a:b:hkc:nov" opt do case $opt in + a) P_ARCHIVE=$OPTARG + ;; b) P_BUILD=$OPTARG ;; + c) P_PROPS=$OPTARG + ;; h) usage ;; k) P_KEEPDIST="yes" ;; n) P_FAKEIT="yes" ;; - p) P_PROPS=$OPTARG + o) P_OFFLINE="yes"; MVN_OPTS="-o" ;; v) P_VERBOSE="yes" ;; @@ -218,6 +250,7 @@ if [ "$P_FAKEIT" = "yes" ]; then fi verbose_p && \ +makedistname && \ removedist no && \ createdist && \ clean && \