#!/bin/sh #------------------------------------------------------------------------------ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation # \\/ M anipulation | #------------------------------------------------------------------------------- # License # This file is part of OpenFOAM. # # OpenFOAM is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # OpenFOAM is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # You should have received a copy of the GNU General Public License # along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. # # Script # foamPackDoxygen [-prefix DIR] [-o outputDir] # # Description # Pack and compress the OpenFOAM doxygen html for release # #------------------------------------------------------------------------------ packDir=$WM_PROJECT-$WM_PROJECT_VERSION htmlDir=doc/Doxygen/html usage() { exec 1>&2 while [ "$#" -gt 0 ]; do echo "$1"; shift; done cat <<USAGE Usage: ${0##*/} [OPTION] options: -b, -bzip2 use bzip2 instead of gzip compression -o, -output <dir> specify alternative output directory -prefix <dir> use alternative prefix * Pack and compress the OpenFOAM doxygen html for release USAGE exit 1 } unset prefix outputDir packExt=tgz # parse options while [ "$#" -gt 0 ] do case $1 in -h | -help) usage ;; -b | -bzip2) packExt=tbz shift ;; -o | -output) [ "$#" -ge 2 ] || usage "'$1' option requires an argument" outputDir=${2%%/} shift 2 ;; -prefix | --prefix) [ "$#" -ge 2 ] || usage "'$1' option requires an argument" prefix=${2%%/} shift 2 ;; -*) usage "unknown option: '$*'" ;; esac done # if packing from within the directory, use -prefix form if [ "${PWD##*/}" = "$packDir" ] then : ${prefix:=$packDir} fi # pack the directories directly and add prefix afterwards if [ -n "$prefix" ] then packDir="$prefix" elif [ ! -d $packDir ] then echo "Error: directory $packDir does not exist" 1>&2 exit 1 fi #------------------------------------------------------------------------------ packName=${packDir}_Doxygen # add optional output directory [ -d "$outputDir" ] && packName="$outputDir/$packName" packFile=$packName.$packExt if [ -f $packFile ] then echo "Error: $packFile already exists" 1>&2 exit 1 fi cat <<INFO 1>&2 ------------------------------------------------------------------------------- Packing doxygen html into $packFile INFO # bzip2 or gzip compression case "$packFile" in *tbz) tarOpt=cpjf ;; *) tarOpt=cpzf ;; esac # Clean up on Ctrl-C trap 'rm -f $packFile 2>/dev/null' INT if [ -n "$prefix" ] then # requires GNU tar tar $tarOpt $packFile --transform="s@^@$prefix/@" $htmlDir else tar $tarOpt $packFile $packDir/$htmlDir fi if [ $? -eq 0 ] then echo "Finished packing doxygen html into $packFile" 1>&2 else echo "Error: failure packing doxygen html into $packFile" 1>&2 rm -f $packFile 2>/dev/null fi #------------------------------------------------------------------------------