summaryrefslogtreecommitdiffstats
path: root/mvn-phase-script.sh
diff options
context:
space:
mode:
Diffstat (limited to 'mvn-phase-script.sh')
-rwxr-xr-xmvn-phase-script.sh131
1 files changed, 86 insertions, 45 deletions
diff --git a/mvn-phase-script.sh b/mvn-phase-script.sh
index 78da207..094e642 100755
--- a/mvn-phase-script.sh
+++ b/mvn-phase-script.sh
@@ -19,10 +19,28 @@
# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+set -ex
+
+
echo "running script: [$0] for module [$1] at stage [$2]"
-echo "=> Prepare environment "
-env
+MVN_PROJECT_MODULEID="$1"
+MVN_PHASE="$2"
+PROJECT_ROOT=$(dirname $0)
+
+# expected environment variables
+if [ -z "${MVN_NEXUSPROXY}" ]; then
+ echo "MVN_NEXUSPROXY environment variable not set. Cannot proceed"
+ exit 1
+fi
+if [ -z "$SETTINGS_FILE" ]; then
+ echo "SETTINGS_FILE environment variable not set. Cannot proceed"
+ exit 2
+fi
+
+
+source "${PROJECT_ROOT}"/mvn-phase-lib.sh
+
# This is the base for where "deploy" will upload
# MVN_NEXUSPROXY is set in the pom.xml
@@ -31,73 +49,96 @@ REPO=$MVN_NEXUSPROXY/content/sites/raw/$MVN_PROJECT_GROUPID
TIMESTAMP=$(date +%C%y%m%dT%H%M%S)
export BUILD_NUMBER="${TIMESTAMP}"
-# expected environment variables
-if [ -z "${MVN_NEXUSPROXY}" ]; then
- echo "MVN_NEXUSPROXY environment variable not set. Cannot proceed"
- exit
-fi
-MVN_NEXUSPROXY_HOST=$(echo "$MVN_NEXUSPROXY" |cut -f3 -d'/' | cut -f1 -d':')
-echo "=> Nexus Proxy at $MVN_NEXUSPROXY_HOST, $MVN_NEXUSPROXY"
-# use the version text detect which phase we are in in LF CICD process: verify, merge, or (daily) release
-
-# mvn phase in life cycle
-MVN_PHASE="$2"
shift 2
case $MVN_PHASE in
clean)
echo "==> clean phase script"
- if [ -f makefile -o -f Makefile ];then make clean; else :; fi
+ case $MVN_PROJECT_MODULEID in
+ check-blueprint-vs-input | repackage)
+ if [ -f makefile -o -f Makefile ];then make clean; else :; fi
+ ;;
+ *)
+ clean_templated_files
+ clean_tox_files
+ rm -rf ./venv-* ./*.wgn ./site ./coverage.xml ./xunit-results.xml
+ ;;
+ esac
;;
generate-sources)
echo "==> generate-sources phase script"
- if [ -f makefile -o -f Makefile ];then make generate-sources; else :; fi
+ case $MVN_PROJECT_MODULEID in
+ check-blueprint-vs-input | repackage)
+ if [ -f makefile -o -f Makefile ];then make generate-sources; else :; fi
+ ;;
+ *)
+ expand_templates
+ ;;
+ esac
;;
compile)
echo "==> compile phase script"
- if [ -f makefile -o -f Makefile ];then make compile; else :; fi
+ case $MVN_PROJECT_MODULEID in
+ check-blueprint-vs-input | repackage)
+ if [ -f makefile -o -f Makefile ];then make compile; else :; fi
+ ;;
+ *)
+ ;;
+ esac
;;
test)
echo "==> test phase script"
- if [ -f makefile -o -f Makefile ];then make test; else :; fi
+ case $MVN_PROJECT_MODULEID in
+ check-blueprint-vs-input | repackage)
+ if [ -f makefile -o -f Makefile ];then make test; else :; fi
+ ;;
+ *)
+ set +e
+ run_tox_test
+ set -e
+ ;;
+ esac
;;
package)
echo "==> package phase script"
- if [ -f makefile -o -f Makefile ];then make package; else :; fi
+ case $MVN_PROJECT_MODULEID in
+ check-blueprint-vs-input | repackage)
+ if [ -f makefile -o -f Makefile ];then make package; else :; fi
+ ;;
+ *)
+ ;;
+ esac
;;
install)
echo "==> install phase script"
- if [ -f makefile -o -f Makefile ];then make install; else :; fi
+ case $MVN_PROJECT_MODULEID in
+ check-blueprint-vs-input | repackage)
+ if [ -f makefile -o -f Makefile ];then make install; else :; fi
+ ;;
+ *)
+ ;;
+ esac
;;
deploy)
echo "==> deploy phase script"
- if [ -f makefile -o -f Makefile ];then make deploy
- else
- # Upload all files (listed as additional deployment arguments) to Nexus
- set -e -x
- function setnetrc {
- # Turn off -x so won't leak the credentials
- set +x
- hostport=$(echo $1 | cut -f3 -d /)
- host=$(echo $hostport | cut -f1 -d:)
- settings=${SETTINGS_FILE:-$HOME/.m2/settings.xml}
- echo machine $host login $(xpath -q -e "//servers/server[id='$MVN_SERVER_ID']/username/text()" $settings) password $(xpath -q -e "//servers/server[id='$MVN_SERVER_ID']/password/text()" $settings) >$HOME/.netrc
- chmod 600 $HOME/.netrc
- set -x
- }
- function putraw {
- curl -X PUT -H "Content-Type: $3" --netrc --upload-file $1 --url $REPO/$2
- }
- setnetrc $REPO
-
- # additional
- for artifact
- do
- putraw $artifact artifacts/$artifact application/data
- done
- set +e +x
- fi
+ case $MVN_PROJECT_MODULEID in
+ check-blueprint-vs-input | repackage)
+ if [ -f makefile -o -f Makefile ];then make deploy
+ else
+ # Upload all files (listed as additional deployment arguments) to Nexus
+ # additional
+ for artifact
+ do
+ upload_raw_file $artifact
+ done
+ set +e +x
+ fi
+ ;;
+ *)
+ generate_pypirc_then_publish
+ ;;
+ esac
;;
*)
echo "==> unprocessed phase"