blob: 855ae2c9fc8b67afa7d2412a801eaba3a9927100 [file] [log] [blame]
Lusheng Jic8bd8912017-08-29 14:11:28 +00001#!/bin/bash
2
3# ================================================================================
Jack Lucasbad77202020-02-03 18:21:29 -05004# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.
Lusheng Jic8bd8912017-08-29 14:11:28 +00005# ================================================================================
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17# ============LICENSE_END=========================================================
Lusheng Jic8bd8912017-08-29 14:11:28 +000018
Lusheng Jiefb18512017-09-11 18:14:56 +000019set -ex
20
Lusheng Jic8bd8912017-08-29 14:11:28 +000021
22echo "running script: [$0] for module [$1] at stage [$2]"
23
Lusheng Ji43658612017-09-08 19:12:45 +000024MVN_PROJECT_MODULEID="$1"
Lusheng Ji98be1432017-09-06 19:38:42 +000025MVN_PHASE="$2"
26
Lusheng Ji43658612017-09-08 19:12:45 +000027
Lusheng Jiab7883e2017-10-10 14:22:53 +000028PROJECT_ROOT=$(dirname $0)
29
Lusheng Ji43658612017-09-08 19:12:45 +000030FQDN="${MVN_PROJECT_GROUPID}.${MVN_PROJECT_ARTIFACTID}"
31if [ "$MVN_PROJECT_MODULEID" == "__" ]; then
32 MVN_PROJECT_MODULEID=""
33fi
34
35if [[ "$MVN_PROJECT_VERSION" == *SNAPSHOT ]]; then
36 echo "=> for SNAPSHOT artifact build"
37 MVN_DEPLOYMENT_TYPE='SNAPSHOT'
38else
39 echo "=> for STAGING/RELEASE artifact build"
40 MVN_DEPLOYMENT_TYPE='STAGING'
41fi
Lusheng Jiefb18512017-09-11 18:14:56 +000042echo "MVN_DEPLOYMENT_TYPE is [$MVN_DEPLOYMENT_TYPE]"
Lusheng Ji43658612017-09-08 19:12:45 +000043
44
45TIMESTAMP=$(date +%C%y%m%dT%H%M%S)
46
47# expected environment variables
48if [ -z "${MVN_NEXUSPROXY}" ]; then
49 echo "MVN_NEXUSPROXY environment variable not set. Cannot proceed"
50 exit
51fi
Lusheng Ji43658612017-09-08 19:12:45 +000052MVN_NEXUSPROXY_HOST=$(echo "$MVN_NEXUSPROXY" |cut -f3 -d'/' | cut -f1 -d':')
53echo "=> Nexus Proxy at $MVN_NEXUSPROXY_HOST, $MVN_NEXUSPROXY"
54
55if [ -z "$WORKSPACE" ]; then
56 WORKSPACE=$(pwd)
57fi
58
Lusheng Jiab7883e2017-10-10 14:22:53 +000059if [ -z "$SETTINGS_FILE" ]; then
60 echo "SETTINGS_FILE environment variable not set. Cannot proceed"
61 exit
62fi
Jack Lucasbad77202020-02-03 18:21:29 -050063
Lusheng Jiab7883e2017-10-10 14:22:53 +000064
65
Lusheng Ji43658612017-09-08 19:12:45 +000066# mvn phase in life cycle
67MVN_PHASE="$2"
68
69
Lusheng Ji6ae6ef92018-03-18 23:21:25 -040070echo "MVN_RELEASE_TAG is [$MVN_RELEASE_TAG]"
Lusheng Ji98be1432017-09-06 19:38:42 +000071echo "MVN_PROJECT_MODULEID is [$MVN_PROJECT_MODULEID]"
72echo "MVN_PHASE is [$MVN_PHASE]"
73echo "MVN_PROJECT_GROUPID is [$MVN_PROJECT_GROUPID]"
74echo "MVN_PROJECT_ARTIFACTID is [$MVN_PROJECT_ARTIFACTID]"
75echo "MVN_PROJECT_VERSION is [$MVN_PROJECT_VERSION]"
76echo "MVN_NEXUSPROXY is [$MVN_NEXUSPROXY]"
77echo "MVN_RAWREPO_BASEURL_UPLOAD is [$MVN_RAWREPO_BASEURL_UPLOAD]"
78echo "MVN_RAWREPO_BASEURL_DOWNLOAD is [$MVN_RAWREPO_BASEURL_DOWNLOAD]"
79MVN_RAWREPO_HOST=$(echo "$MVN_RAWREPO_BASEURL_UPLOAD" | cut -f3 -d'/' |cut -f1 -d':')
80echo "MVN_RAWREPO_HOST is [$MVN_RAWREPO_HOST]"
81echo "MVN_RAWREPO_SERVERID is [$MVN_RAWREPO_SERVERID]"
Lusheng Jiab7883e2017-10-10 14:22:53 +000082echo "MVN_DOCKERREGISTRY_SNAPSHOT is [$MVN_DOCKERREGISTRY_SNAPSHOT]"
Lusheng Ji98be1432017-09-06 19:38:42 +000083echo "MVN_DOCKERREGISTRY_RELEASE is [$MVN_DOCKERREGISTRY_RELEASE]"
Lusheng Jiab7883e2017-10-10 14:22:53 +000084echo "MVN_DOCKERREGISTRY_PUBLIC is [$MVN_DOCKERREGISTRY_PUBLIC]"
Tony Hansenffa416d2017-10-24 19:35:57 +000085echo "HOME is [$HOME]"
86echo "PROJECT_ROOT is [$PROJECT_ROOT]"
Lusheng Jiefb18512017-09-11 18:14:56 +000087
vv770d50865ac2021-03-09 15:58:13 +000088MVN_RELEASE_TAG="${MVN_RELEASE_TAG:-R9}"
Lusheng Ji6ae6ef92018-03-18 23:21:25 -040089
90
91if ! wget -O ${PROJECT_ROOT}/mvn-phase-lib.sh \
92 "$MVN_RAWREPO_BASEURL_DOWNLOAD"/org.onap.dcaegen2.utils/${MVN_RELEASE_TAG}/scripts/mvn-phase-lib.sh; then
93 echo "Fail to download mvn-phase-lib.sh"
94 exit 1
95fi
96source "${PROJECT_ROOT}"/mvn-phase-lib.sh
Lusheng Ji43658612017-09-08 19:12:45 +000097
98
Lusheng Jiefb18512017-09-11 18:14:56 +000099# Customize the section below for each project
Lusheng Ji43658612017-09-08 19:12:45 +0000100case $MVN_PHASE in
101clean)
102 echo "==> clean phase script"
Lusheng Jiefb18512017-09-11 18:14:56 +0000103 clean_templated_files
Lusheng Jiab7883e2017-10-10 14:22:53 +0000104 clean_tox_files
105 rm -rf ./venv-* ./*.wgn ./site
Lusheng Ji43658612017-09-08 19:12:45 +0000106 ;;
107generate-sources)
108 echo "==> generate-sources phase script"
109 expand_templates
110 ;;
111compile)
112 echo "==> compile phase script"
113 ;;
114test)
115 echo "==> test phase script"
Tony Hansen1d013672017-10-06 21:01:05 +0000116 test_templates
Lusheng Ji43658612017-09-08 19:12:45 +0000117 ;;
118package)
119 echo "==> package phase script"
Lusheng Ji43658612017-09-08 19:12:45 +0000120 ;;
121install)
122 echo "==> install phase script"
123 ;;
124deploy)
Jack Lucasbad77202020-02-03 18:21:29 -0500125 build_and_push_docker
Lusheng Jic8bd8912017-08-29 14:11:28 +0000126 ;;
127*)
128 echo "==> unprocessed phase"
129 ;;
130esac
131