blob: ac10e7de8e6279e2a553af3b78f9e626e8a68cec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
#!/bin/bash
###
# ============LICENSE_START=======================================================
# org.openecomp.aai
# ================================================================================
# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ============LICENSE_END=========================================================
###
#check system vars
: ${AAI_HOME:?"AAI_HOME must be set. This is typically your git root/aai-webapp/all/src"}
: ${SCRIPT_HOME:?"SCRIPT_HOME must be set. This is typically your git root/packages/scripts"}
: ${YANG_OUTPUT:?"YANG_OUTPUT must be set. This should be a temporary directory outside of your git root."}
: ${REV:?"REV must be set. The format is vX where X is the version you'd like to create."}
usage() {
echo "-b [use defaults for all prompts] --help [display help]"
}
SKIP=false
while getopts ":b-" opt; do
case $opt in
b)
echo "skipping prompts"
SKIP=true
;;
\?)
echo "Invalid option: -$OPTARG" >&2
usage
exit 1
;;
-)
case "${OPTARG}" in
help)
usage
exit 1
;;
*)
usage
exit 1
;;
esac;;
*)
usage
exit 1
;;
esac
done
YANGDIR=$AAI_HOME/main/yang/$REV
cd $YANGDIR
if [ ! -d "$YANG_OUTPUT/xsd" ]; then
mkdir $YANG_OUTPUT/xsd
fi
for i in *.yang ; do x=`echo $i | cut -d"." -f 1`; echo $i " " $x; pyang -f xsd $i > $YANG_OUTPUT/xsd/$x.xsd; done
cd $AAI_HOME/main/java/
javac org/openecomp/aai/util/FixXSDNew.java
java org.openecomp.aai.util.FixXSDNew
rm org/openecomp/aai/util/FixXSDNew.class
cd $YANG_OUTPUT/xsd
$SCRIPT_HOME/make_refs_in_xsd.pl fixedup.xsd > aai$REV-corrected.xsd
echo "compiling class files..."
xjc -p org.openecomp.aai.domain.yang -b $AAI_HOME/main/yang/$REV/bindings.xml aai$REV-corrected.xsd
echo "done!"
cd $YANG_OUTPUT/xsd/org/openecomp/aai/domain/yang/
if [ ! $SKIP = true ]; then
read -p "Remove relationship classes? (N/y)" choice
else
choice="N"
fi
case "$choice" in
y|Y ) echo "removing..."
rm -v Relationship*
;;
* ) echo "skipping removal"
;;
esac
echo "fixing yang classes via perl script..."
for i in *.java; do $SCRIPT_HOME/fix_yang_classes.pl -n "http://org.openecomp.aai.inventory/$REV" $i > $i.new; mv $i $i.bak; mv $i.new $i; done
if [ ! $SKIP = true ]; then
read -p "Copy generated classes into git home? (Y/n)" choice
else
choice="Y"
fi
case "$choice" in
n|N ) echo "classes are at $YANG_OUTPUT";;
* ) echo "moving files..."
cp -fv *.java $AAI_HOME/main/java/org/openecomp/aai/domain/yang
;;
esac
echo "generation complete"
exit 1
|