1 if [ -z "$PROJECT_HOME" ]
3 export PROJECT_HOME=$(pwd)/..
6 toolsDir=$PROJECT_HOME/tools
7 rm -rf ${toolsDir}/tmpws
8 mkdir ${toolsDir}/tmpws
9 mkdir ${toolsDir}/tmpws/logs
10 mkdir ${toolsDir}/tmpws/jars
11 mkdir ${toolsDir}/tmpws/tmp
14 echo "Command line:$0 $*" >${toolsDir}/tmpws/logs/err.log
15 echo "Usage: $0 yangFile" >>${toolsDir}/tmpws/logs/err.log
20 echo "$1" | grep "\.zip$" >/dev/null 2>&1
26 if [ "$isZipFile" = "Y" ]
28 #zip file of yangs provided
29 zipFile=$(basename $1)
30 unzip -o -d $PROJECT_HOME/tools/tmpws/tmp $1 >/dev/null 2>&1
32 cd $PROJECT_HOME/tools/tmpws/tmp
34 extension="${fName##*.}"
35 moduleName="${fName%.*}"
36 #echo "ModuleName is :$moduleName"
37 rm -rf $PROJECT_HOME/yangFiles/$moduleName
38 mkdir $PROJECT_HOME/yangFiles/$moduleName
39 mv *.yang $PROJECT_HOME/yangFiles/$moduleName
40 cd $PROJECT_HOME/tools
41 yangFilesFullPath=${PROJECT_HOME}/yangFiles/$moduleName
43 mkdir -p yangApp/model/src/main/yang
44 mkdir -p yangApp/model/src/main/yang-gen-sal
45 cp -r ${yangFilesFullPath}/* yangApp/model/src/main/yang
46 cp ${toolsDir}/pom.xml_base yangApp/model/pom.xml
47 cd ${toolsDir}/tmpws/yangApp/model
50 mvn clean install >${toolsDir}/tmpws/logs/mvn_install.log 2>${toolsDir}/tmpws/logs/err.log
51 yangApp_model_jar="yangApp-model-1.0.0-SNAPSHOT.jar"
53 #Copy the built jar to jars directory
54 cp ${toolsDir}/tmpws/yangApp/model/target/${yangApp_model_jar} ${toolsDir}/tmpws/jars
55 . ${toolsDir}/setClasspath
57 mv ${toolsDir}/output_js/${moduleName}_inputs.js ${toolsDir}/output_js/${moduleName}_inputs_prev.js >/dev/null 2>&1
59 ${toolsDir}/getRpcsClassFromYang.sh ${yangFilesFullPath}/${moduleName}.yang ${toolsDir}/tmpws/yangApp/model/target/${yangApp_model_jar} > ${toolsDir}/output_js/${moduleName}.js
61 node ${toolsDir}/dot_to_json.js ${toolsDir}/output_js/${moduleName}.js $moduleName >${toolsDir}/output_js/${moduleName}_inputs.js
63 cp ${toolsDir}/output_js/${moduleName}_inputs.js $PROJECT_HOME/generatedJS
68 mkdir -p yangApp/model/src/main/yang
69 mkdir -p yangApp/model/src/main/yang-gen-sal
70 cp ${yangFileFullPath} yangApp/model/src/main/yang
71 cp ${toolsDir}/pom.xml_base yangApp/model/pom.xml
72 cd ${toolsDir}/tmpws/yangApp/model
75 mvn clean install >${toolsDir}/tmpws/logs/mvn_install.log 2>${toolsDir}/tmpws/logs/err.log
76 yangApp_model_jar="yangApp-model-1.0.0-SNAPSHOT.jar"
78 #Copy the built jar to jars directory
79 cp ${toolsDir}/tmpws/yangApp/model/target/${yangApp_model_jar} ${toolsDir}/tmpws/jars
80 . ${toolsDir}/setClasspath
82 moduleName=$(cat $yangFileFullPath|egrep "module .*{"|cut -d' ' -f2|cut -d'{' -f1)
84 mv ${toolsDir}/output_js/${moduleName}_inputs.js ${toolsDir}/output_js/${moduleName}_inputs_prev.js >/dev/null 2>&1
86 ${toolsDir}/getRpcsClassFromYang.sh ${yangFileFullPath} ${toolsDir}/tmpws/yangApp/model/target/${yangApp_model_jar} > ${toolsDir}/output_js/${moduleName}.js
88 node ${toolsDir}/dot_to_json.js ${toolsDir}/output_js/${moduleName}.js $moduleName >${toolsDir}/output_js/${moduleName}_inputs.js
90 cp ${toolsDir}/output_js/${moduleName}_inputs.js $PROJECT_HOME/generatedJS