#!/bin/bash # Copyright 2014 Red Hat, Inc. # # 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. # This script checks all files in the "elements" directory for some # common mistakes and exits with a non-zero status if it finds any. rc=0 TMPDIR=$(mktemp -d) trap "rm -rf $TMPDIR" EXIT for i in $(find elements -type f); do # Check that files starting with a shebang are +x firstline=$(head -n 1 "$i") if [ ! -x "$i" ] && [ "${firstline:0:2}" = "#!" ]; then echo "ERROR: $i is not executable" rc=1 fi # Check alphabetical ordering of element-deps if [ $(basename $i) = "element-deps" ]; then UNSORTED=${TMPDIR}/element-deps.unsorted SORTED=${TMPDIR}/element-deps.sorted grep -v '^#' $i > ${UNSORTED} sort ${UNSORTED} > ${SORTED} diff -c ${UNSORTED} ${SORTED} if [ $? -ne 0 ]; then echo "ERROR: $i is not sorted alphabetically" rc=1 fi fi done exit $rc