Initial commit for OpenECOMP SDN-C OA&M
[sdnc/oam.git] / dgbuilder / createReleaseDir
1 export PATH=$PATH:.
2 appDir=$(pwd)
3 if [ "$#" != 3 -a "$#" != 4 ]
4 then
5         echo "Usage $0 releaseDir  loginId emailAddress [gitLocalRepository]"
6         echo "Note: Specify the gitLocalRepository path if you would want to be able to import flows from your local git repository"
7         exit
8 fi 
9 if [ ! -e "releases" ]
10 then
11         mkdir releases
12 fi
13 releaseDir="$1"
14 name="Release $releaseDir"
15 loginId="$2"
16 emailid="$3"
17 dbHost="dbhost"
18 dbPort="3306"
19 dbName="sdnctl"
20 dbUser="sdnctl"
21 dbPassword="gamma"
22 gitLocalRepository="$4"
23
24 lastPort=$(find "releases/" -name "customSettings.js" |xargs grep uiPort|cut -d: -f2|sed -e s/,//|sort|tail -1)
25 echo $lastPort|grep uiPort >/dev/null 2>&1
26 if [ "$?" == "0" ]
27 then
28 lastPort=$(find "releases/" -name "customSettings.js" |xargs grep uiPort|cut -d: -f3|sed -e s/,//|sort|tail -1)
29 fi
30 #echo $lastPort
31 if [ "${lastPort}" == "" ]
32 then
33         lastPort="3099"
34 fi
35 let nextPort=$(expr $lastPort+1)
36 #echo $nextPort
37 if [ ! -e "releases/$releaseDir" ]
38 then
39 mkdir releases/$releaseDir
40 cd releases/$releaseDir
41 mkdir flows
42 mkdir flows/shared
43 mkdir flows/shared/backups
44 mkdir html
45 mkdir xml
46 mkdir lib
47 mkdir lib/flows
48 mkdir logs
49 mkdir conf
50 mkdir codecloud
51 customSettingsFile="customSettings.js"
52 if [ ! -e "./$customSettingsFile" ]
53 then
54         echo "module.exports = {" >$customSettingsFile
55         echo "          'name' : '$name'," >>$customSettingsFile
56         echo "          'emailAddress' :'$emailid'," >>$customSettingsFile
57         echo "          'uiPort' :$nextPort," >>$customSettingsFile
58         echo "          'mqttReconnectTime': 15000," >>$customSettingsFile
59         echo "          'serialReconnectTime' : 15000,"  >>$customSettingsFile
60         echo "          'debugMaxLength': 1000," >>$customSettingsFile
61         echo "          'htmlPath': 'releases/$releaseDir/html/'," >>$customSettingsFile
62         echo "          'xmlPath': 'releases/$releaseDir/xml/'," >>$customSettingsFile
63         echo "          'flowFile' : 'releases/$releaseDir/flows/flows.json'," >>$customSettingsFile
64         echo "          'sharedDir': 'releases/$releaseDir/flows/shared'," >>$customSettingsFile
65         echo "          'userDir' : 'releases/$releaseDir'," >>$customSettingsFile
66         echo "          'httpAuth': {user:'$loginId',pass:'cc03e747a6afbbcbf8be7668acfebee5'}," >>$customSettingsFile
67         echo "          'dbHost': '$dbHost'," >>$customSettingsFile
68         echo "          'dbPort': '$dbPort'," >>$customSettingsFile
69         echo "          'dbName': '$dbName'," >>$customSettingsFile
70         echo "          'dbUser': '$dbUser'," >>$customSettingsFile
71         echo "          'dbPassword': '$dbPassword'," >>$customSettingsFile
72         echo "          'gitLocalRepository': '$gitLocalRepository'" >>$customSettingsFile
73         echo "          }" >>$customSettingsFile
74 fi
75         #echo "Created custom settings  file $customSettingsFile"
76         echo "Done ....."
77 else
78         echo "ERROR:customSettings file $customSettingsFile already exists for $releaseDir"     
79         exit
80 fi
81 #echo "Content of custom settings file"
82 #echo "============================================================================"
83 #       cat $customSettingsFile
84 #echo "============================================================================"
85 svclogicPropFile="./conf/svclogic.properties"
86 if [ ! -d "${appDir}/yangFiles" ]
87 then
88         mkdir -p "${appDir}/yangFiles" 
89 fi
90 if [ ! -d "${appDir}/generatedJS" ]
91 then
92         mkdir -p "${appDir}/generatedJS" 
93 fi
94
95 if [ ! -e "./$svclogicPropFile" ]
96 then
97         echo "org.openecomp.sdnc.sli.dbtype=jdbc" >$svclogicPropFile
98         echo "org.openecomp.sdnc.sli.jdbc.url=jdbc:mysql://dbhost:3306/sdnctl" >>$svclogicPropFile
99         echo "org.openecomp.sdnc.sli.jdbc.database=sdnctl" >>$svclogicPropFile
100         echo "org.openecomp.sdnc.sli.jdbc.user=sdnctl" >>$svclogicPropFile
101         echo "org.openecomp.sdnc.sli.jdbc.password=gamma" >>$svclogicPropFile
102 fi
103 if [ ! -e "${appDir}/flowShareUsers.js" ]
104 then
105         echo "module.exports = {\"flowShareUsers\":" >${appDir}/flowShareUsers.js
106         echo "  [" >>${appDir}/flowShareUsers.js
107         echo "  ]" >>${appDir}/flowShareUsers.js
108         echo "}" >>${appDir}/flowShareUsers.js
109 fi
110 grep "$releaseDir" ${appDir}/flowShareUsers.js >/dev/null 2>&1
111 if [ "$?" != "0" ]
112 then
113         num_of_lines=$(cat ${appDir}/flowShareUsers.js|wc -l)
114         if [ $num_of_lines -gt 4 ]
115         then
116                 content=$(head -n -2 ${appDir}/flowShareUsers.js)
117                 echo "${content}," > ${appDir}/flowShareUsers.js
118         else
119                 content=$(head -n -2 ${appDir}/flowShareUsers.js)
120                 echo "$content" > ${appDir}/flowShareUsers.js
121         fi
122         echo "  {" >> ${appDir}/flowShareUsers.js
123         echo "          \"name\" : \"$name\"," >> ${appDir}/flowShareUsers.js
124         echo "          \"rootDir\" : \"$releaseDir\"" >> ${appDir}/flowShareUsers.js
125         echo "  }" >> ${appDir}/flowShareUsers.js
126         echo "  ]" >> ${appDir}/flowShareUsers.js
127         echo "}" >> ${appDir}/flowShareUsers.js
128 fi