#!/bin/sh # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. # BEGIN environment bootstrap section # Do not edit between here and END as this section should stay identical in all scripts findpath () { myname=${0} mypath=${myname%/*} myname=${myname##*/} if [ "$mypath" ] && [ -d "$mypath" ]; then return fi mypath=$(pwd) if [ -f "${mypath}/${myname}" ]; then return fi echo "FATAL: Could not figure out the path where $myname lives from $0" exit 1 } COMMON_ENV=libexec/vespa/common-env.sh source_common_env () { if [ "$VESPA_HOME" ] && [ -d "$VESPA_HOME" ]; then export VESPA_HOME common_env=$VESPA_HOME/$COMMON_ENV if [ -f "$common_env" ]; then . $common_env return fi fi return 1 } findroot () { source_common_env && return if [ "$VESPA_HOME" ]; then echo "FATAL: bad VESPA_HOME value '$VESPA_HOME'" exit 1 fi if [ "$ROOT" ] && [ -d "$ROOT" ]; then VESPA_HOME="$ROOT" source_common_env && return fi findpath while [ "$mypath" ]; do VESPA_HOME=${mypath} source_common_env && return mypath=${mypath%/*} done echo "FATAL: missing VESPA_HOME environment variable" echo "Could not locate $COMMON_ENV anywhere" exit 1 } findroot # END environment bootstrap section ROOT=${VESPA_HOME%/} export ROOT usage () { echo "usage: `basename $0` " echo " validates the hosts.xml and services.xml in your application" } if [ $# -ne 1 ]; then usage exit 2 fi err=$( cd $1 2>&1 1>/dev/null ) || { usage echo "SEVERE: $err" exit 2 } SERVICES="$1/services.xml" HOSTS="$1/hosts.xml" java -jar $ROOT/lib/jars/jing.jar -c $ROOT/share/vespa/schema/hosts.rnc $HOSTS && echo "$HOSTS is valid" java -jar $ROOT/lib/jars/jing.jar -c $ROOT/share/vespa/schema/services.rnc $SERVICES && echo "$SERVICES is valid"