#!/usr/bin/env bash # Copyright 2014 The Kubernetes Authors. # # 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. # arguments: target, item1, item2, item3, ... # returns 0 if target is in the given items, 1 otherwise. kube::util::array_contains() { local search="$1" local element shift for element; do if [[ "${element}" == "${search}" ]]; then return 0 fi done return 1 } # kube::util::check-file-in-alphabetical-order # Check that the file is in alphabetical order # function kube::util::check-file-in-alphabetical-order { local failure_file="$1" if ! diff -u "${failure_file}" <(LC_ALL=C sort "${failure_file}"); then { echo echo "${failure_file} is not in alphabetical order. Please sort it:" echo echo " LC_ALL=C sort -o ${failure_file} ${failure_file}" echo } >&2 false fi }