#!/bin/bash
## ---------------------------------------------------------------------
##
## Copyright (C) 2012 - 2013, 2015 by the deal.II authors
##
## This file is part of the deal.II library.
##
## The deal.II library is free software; you can use it, redistribute
## it, and/or modify it under the terms of the GNU Lesser General
## Public License as published by the Free Software Foundation; either
## version 2.1 of the License, or (at your option) any later version.
## The full text of the license can be found in the file LICENSE at
## the top level of the deal.II distribution.
##
## ---------------------------------------------------------------------

if test ! -d source -o ! -d include -o ! -d examples ; then
  echo "*** This script must be run from the top-level directory of deal.II."
  exit
fi

if test ! -f contrib/utilities/astyle.rc ; then
  echo "*** No style file contrib/utilities/astyle.rc found."
  exit
fi

if test -z "`which astyle`" ; then
  echo "*** No astyle program found."
  echo "***"
  echo "*** You can download astyle from http://astyle.sourceforge.net/"
  echo "*** Note that you will need exactly version 2.04 (no newer or"
  echo "*** older version will yield the correct indentation)."
  exit
fi

if test "`astyle --version 2>&1`" != "Artistic Style Version 2.04" ; then
  echo "*** Found a version of astyle different than the required version 2.04."
  exit
fi



# collect all header and source files and process them in batches of 50 files
# with up to 10 in parallel
echo "--- Indenting all deal.II header and source files"

find tests include source examples \( -name '*.cc' -o -name '*.h' \) -print | xargs -n 50 -P 10 astyle --options=contrib/utilities/astyle.rc

