#!/bin/bash
#
# Copyright 2015-present Open Networking Foundation
#
# 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.
#

# -----------------------------------------------------------------------------
# Tool to compile the specified YANG file(s) using the ONOS live compilation.
# -----------------------------------------------------------------------------
function usage {
    echo "usage: onos-compile-yang [-P port] [-u user] [-p password] [-v] \\"
    echo "          <yang-file|zip-file|jar-file|directory>" >&2
    exit 1
}

. $(dirname $0)/_rest-port
. $(dirname $0)/_find-node

node=$(find_node $1)
yang=$2

export URL=http://$node:$port/onos/yang/models
export curl="curl $fail -sSL --user $user:$password --noproxy ${node} "

[ -z $node -o "$node" = "-h" -o "$node" = "--help" -o "$node" = "-?" ] && usage

if [ -d $yang ]; then
    newYang=/tmp/$(basename $yang).jar
    jar cf $newYang $yang
    yang=$newYang
fi

file=$(basename $yang)
modelId="$(echo $file | sed -E 's/(.zip|.jar|.yang)$//g')"
$curl $URL?modelId=$modelId -F"file=@$yang"
