4 # ============LICENSE_START=======================================================
6 # ================================================================================
7 # Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
8 # ================================================================================
9 # Licensed under the Apache License, Version 2.0 (the "License");
10 # you may not use this file except in compliance with the License.
11 # You may obtain a copy of the License at
13 # http://www.apache.org/licenses/LICENSE-2.0
15 # Unless required by applicable law or agreed to in writing, software
16 # distributed under the License is distributed on an "AS IS" BASIS,
17 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 # See the License for the specific language governing permissions and
19 # limitations under the License.
20 # ============LICENSE_END=========================================================
23 if [ -z "$SETTINGS_FILE" -a -z "$GLOBAL_SETTINGS_FILE" -a -s "$HOME"/.m2/settings.xml ]
25 DEFAULT_MAVEN_SETTINGS=${HOME}/.m2/settings.xml
26 SETTINGS_FILE=${SETTINGS_FILE:-${DEFAULT_MAVEN_SETTINGS}}
27 GLOBAL_SETTINGS_FILE=${GLOBAL_SETTINGS_FILE:-${DEFAULT_MAVEN_SETTINGS}}
30 APPC_HOME=${APPC_HOME:-/opt/onap/appc}
31 SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
33 targetDir=${1:-${APPC_HOME}}
34 sdnc_targetDir=${1:-${SDNC_HOME}}
36 #We are going to use a series of directories in the docker-stage folder to extract features to.
37 #By extracting features into more than one directory, we can copy them into the docker image in
38 #different parts, creating more even layer sizes in the docker image.
39 featureDir=$2/featureDir
41 #This value determine how many feature directories we want. The featutures will be evenly split
42 #into the number of directories specified. Any remainder will be put into the last directory.
43 #IF THE FEATURES_DIRECTORY_COUNT IS CHANGED, THE DOCKERFILE MUST ALSO BE UPDATED SINCE IT CONTAINS
44 #A COPY COMMAND FOR EACH FEATURE DIRECTORY!! See the Dockerfile for more information.
45 FEATURE_DIRECTORY_COUNT=4
50 appc-lifecycle-management \
55 appc-netconf-adapter \
62 appc-ansible-adapter \
64 appc-sequence-generator \
65 appc-config-generator \
66 appc-config-data-services \
67 appc-artifact-handler \
70 appc-config-encryption-tool \
71 appc-config-flow-controller \
74 appc-network-inventory-client \
75 appc-design-services \
76 appc-interfaces-service"
78 FEATURES_PER_DIRECTORY=$(($(echo $APPC_FEATURES|wc -w)/$FEATURE_DIRECTORY_COUNT))
80 APPC_VERSION=${APPC_VERSION:-0.0.1}
81 APPC_CDT_VERSION=${APPC_CDT_VERSION:-0.0.1}
82 APPC_OAM_VERSION=${APPC_OAM_VERSION:-0.1.1}
83 AAF_SHIRO_VERSION=${AAF_SHIRO_VERSION:-2.1.7-SNAPSHOT}
85 tmpDir=/tmp/appc-${APPC_VERSION}
87 if [ ! -d ${targetDir} ]
99 mavenOpts="-s ${SETTINGS_FILE} -gs ${GLOBAL_SETTINGS_FILE}"
102 echo "Installing APP-C version ${APPC_VERSION}"
104 #The math for splitting up the features into folders
107 for feature in ${APPC_FEATURES}
109 if (( $featureDirNumber < $FEATURE_DIRECTORY_COUNT ))
111 if (( $featureNumber > $FEATURES_PER_DIRECTORY ))
113 featureDirNumber=$(($featureDirNumber+1))
118 rm -f ${tmpDir}/${feature}-installer*.zip
119 mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.appc:${feature}-installer:${APPC_VERSION}:zip -DoutputDirectory=${tmpDir} -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.ssl.insecure=true
120 unzip -d ${featureDir}$featureDirNumber ${tmpDir}/${feature}-installer*zip
121 featureNumber=$(($featureNumber+1))
124 echo "Installing platform-logic for APP-C"
125 rm -f ${tmpDir}/platform-logic-installer*.zip
126 mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.appc.deployment:platform-logic-installer:${APPC_OAM_VERSION}:zip -DoutputDirectory=${tmpDir} -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.ssl.insecure=true
127 unzip -d ${targetDir} ${tmpDir}/platform-logic-installer*.zip
129 echo "Downloading dg-loader DGs from nexus"
130 mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.appc:appc-dg-provider:${APPC_VERSION} -DoutputDirectory=${tmpDir}
131 unzip -d ${targetDir}/svclogic/graphs/appc/json ${tmpDir}/appc-dg-provider*.jar json/**
132 mv ${targetDir}/svclogic/graphs/appc/json/json ${targetDir}/svclogic/graphs/appc/json/dg-loader-dgs
134 echo "Downloading dg-loader-provider jar from nexus"
135 mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.appc.plugins:dg-loader-provider:${APPC_VERSION}:jar:jar-with-dependencies -DoutputDirectory=${targetDir}/data
136 mv ${targetDir}/data/dg-loader-provider-*-jar-with-dependencies.jar ${targetDir}/data/dg-loader-provider-jar-with-dependencies.jar
138 echo "Downloading aaf-cadi-shiro from nexus"
139 mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.aaf.cadi:aaf-shiro-aafrealm-osgi-bundle:${AAF_SHIRO_VERSION} -DoutputDirectory=${targetDir}/data
140 mv ${targetDir}/data/aaf-shiro-aafrealm-osgi-bundle-*.jar ${targetDir}/data/aaf-shiro-aafrealm-osgi-bundle.jar
142 echo "Setting keyfile to readonly"
143 chmod 400 ${targetDir}/data/stores/org.onap.appc.keyfile
145 echo "Downloading CDT Proxy Jar from nexus"
146 mvn -U ${mavenOpts} org.apache.maven.plugins:maven-dependency-plugin:2.9:copy -Dartifact=org.onap.appc.cdt:cdt-proxy-service:${APPC_CDT_VERSION} -DoutputDirectory=${targetDir}/cdt-proxy-service
147 mv ${targetDir}/cdt-proxy-service/cdt-proxy-service-*.jar ${targetDir}/cdt-proxy-service/cdt-proxy-service.jar
149 find ${targetDir} -name '*.sh' -exec chmod +x '{}' \;