| #!/bin/bash |
| # ----------------------------------------------------------------------------- |
| # Patches lib/BUCK file to use locally built YANG tools. |
| # ----------------------------------------------------------------------------- |
| |
| BVER=2.4 |
| SVER=2.5-SNAPSHOT |
| |
| YANG_TOOLS_ROOT=${YANG_TOOLS_ROOT:-~/onos-yang-tools} |
| |
| rm -f $ONOS_ROOT/lib/yang/* 2>/dev/null |
| mkdir -p $ONOS_ROOT/lib/yang |
| |
| awk ' |
| BEGIN { m = 0; y = 0; } |
| /^(remote_jar|prebuilt_jar)/ { s = $0; m = 1; next; } |
| { if (m) { s = s "\n" $0; } else { print $0; } } |
| /onos-yang-.*('$BVER'|'$SVER')/ { y = 1; } |
| /^\)/ { if (m && !y) { print s; } y = 0; m = 0; } |
| ' $ONOS_ROOT/lib/BUCK > /tmp/BUCK |
| mv /tmp/BUCK $ONOS_ROOT/lib/BUCK |
| |
| for yl in $(egrep "onos-yang-.*$BVER" $ONOS_ROOT/lib/deps.json); do |
| n=$(echo $yl | cut -d\" -f2) |
| m=$(echo $yl | cut -d\" -f4) |
| m=${m/$BVER/$SVER} |
| j=$(find $YANG_TOOLS_ROOT -name $n-$SVER.jar) |
| s=yang/$(basename $j) |
| cp $j $ONOS_ROOT/lib/$s |
| |
| # echo $n, $m, $j |
| |
| cat <<EOF >>$ONOS_ROOT/lib/BUCK |
| prebuilt_jar ( |
| name = '$n', |
| binary_jar = '$s', |
| maven_coords = '${m#mvn:*}', |
| visibility = [ 'PUBLIC' ], |
| ) |
| |
| EOF |
| done |
| |
| YANG_PLUGIN_SRC=$YANG_TOOLS_ROOT/compiler/plugin/buck/target/onos-yang-compiler-buck-plugin-$SVER.jar |
| if [ ! -f "$YANG_PLUGIN_SRC" ]; then |
| mvn -f $YANG_TOOLS_ROOT/pom.xml -am -pl :onos-yang-compiler-buck-plugin install -DskipTests -Dcheckstyle.skip |
| fi |
| # Patch the YANG BUCK plugin |
| cp -p $YANG_PLUGIN_SRC \ |
| $ONOS_ROOT/bin/plugins/yang.jar |