2 #------------------------------------------------------------------------------
4 # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
6 # \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
8 #------------------------------------------------------------------------------
10 # This file is part of OpenFOAM.
12 # OpenFOAM is free software; you can redistribute it and/or modify it
13 # under the terms of the GNU General Public License as published by the
14 # Free Software Foundation; either version 2 of the License, or (at your
15 # option) any later version.
17 # OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
18 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 # You should have received a copy of the GNU General Public License
23 # along with OpenFOAM; if not, write to the Free Software Foundation,
24 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
27 # foamUpdateCaseFileHeader
30 # Updates the header of application files.
31 # By default, writes current version in the header.
32 # Alternatively version can be specified with -v option.
33 # Also removes consecutive blank lines from file.
35 #------------------------------------------------------------------------------
36 foamVersion
=$WM_PROJECT_VERSION
41 Usage: ${0##*/} [OPTION] <file1> ... <fileN>
44 -v VER specifies the version to be written in the header
47 Updates the header of application files and removes consecutive blank lines.
48 By default, writes current OpenFOAM version in the header.
49 An alternative version can be specified with the -v option.
58 /*--------------------------------*- C++ -*----------------------------------*\\
60 | \\\\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
61 | \\\\ / O peration | Version: ${foamVersion} |
62 | \\\\ / A nd | Web: www.OpenFOAM.org |
63 | \\\\/ M anipulation | |
64 \\*---------------------------------------------------------------------------*/
77 # extract attribute '$1' from file '$2'
80 sed -n -e 's/[ ;]*$//' -e "s/^ *$1 *//p" $2
90 echo "Aborting due to invalid option"
94 while [ "$1" != "--" ]
109 [ $# -ge 1 ] || usage
112 # constant width for version
113 foamVersion
=$
(printf %-36s $foamVersion)
122 if grep FoamFile
$caseFile >/dev
/null
2>&1
124 echo "Updating case file: $caseFile"
125 sed -n '/FoamFile/,/}/p' $caseFile > FoamFile.tmp
127 FORMAT
=$
(FoamFileAttribute format FoamFile.tmp
)
128 CLASS
=$
(FoamFileAttribute class FoamFile.tmp
)
129 OBJECT
=$
(FoamFileAttribute object FoamFile.tmp
)
132 printHeader
$FORMAT $CLASS $OBJECT $NOTE > FoamFile.tmp
133 sed '1,/}/d' $caseFile |
sed '/./,/^$/!d' >> FoamFile.tmp
135 # use cat to avoid removing/replace soft-links
136 [ -s FoamFile.tmp
] && cat FoamFile.tmp
>|
$caseFile
137 rm -f FoamFile.tmp
2>/dev
/null
139 echo " Invalid case file: $caseFile" 1>&2
143 #------------------------------------------------------------------------------