#!/bin/sh # Check the syntax of all Puppet and Ruby files.

set -e

puppets=`find . -type f -path './manifests/*' -name '*.pp' -print 2>/dev/null` rubies=`find . -type f -path './lib/*' -or -path './spec/*' -not -path './spec/fixtures/*' -name '*.rb' -print 2>/dev/null` templates=`find . -type f -path './templates/*' -name '*.erb' -print 2>/dev/null`

for puppet in $puppets; do

/bin/echo -n "${puppet}: "
.bundle/binstubs/puppet parser validate $puppet && echo "Syntax OK"
if [ $? -ne 0 ]; then
  exit 1
fi

done

for ruby in $rubies; do

/bin/echo -n "${ruby}: "
ruby -wc $ruby
if [ $? -ne 0 ]; then
  exit 1
fi

done

for template in $templates; do

/bin/echo -n "${template}: "
erb -P -x -T '-' ${template} | ruby -wc
if [ $? -ne 0 ]; then
  exit 1
fi

done