blob: d66c384697dfcf58e8a26a8828bcfa2e756296fa [file] [log] [blame]
Zack Williamsa2ba2a02020-10-03 22:25:29 -07001#!/usr/bin/env bash
2
3# Copyright 2018-present Open Networking Foundation
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17# validate_manifest.sh
18#
19# Validates the repo manifest, per the DTD format given here:
20# https://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.txt
21
22echo "Verifying default.xml using manifest.dtd"
23
24# check that xmllint is available
25if ! [ -x "$(command -v xmllint)" ]
26then
27 echo "Please install 'xmllint' to use this script"
28 exit 1
29fi
30
31# run the verification
32xmllint --noout --dtdvalid manifest.dtd default.xml
33status=$?
34
35if [ $status -ne 0 ]
36then
37 echo "FAILURE: default.xml isn't valid - exit status: $status"
38 exit $status
39else
40 echo "SUCCESS: default.xml validated correctly"
41 exit 0
42fi