Rationalised WM_PROJECT_SITE and WM_PROJECT_INST_DIR in foamEtcFile and etcFiles

for consistency with WM_PROJECT.  Now "etc" files are assumed to be in etc
sub-directories of WM_PROJECT_SITE and WM_PROJECT_INST_DIR allowing other files
to be stored in those directories.  The search order is now:

Search for files from user/group/shipped directories.
The search scheme allows for version-specific and
version-independent files using the following hierarchy:
- \b user settings:
  - ~/.OpenFOAM/\<VERSION\>/
  - ~/.OpenFOAM/
- \b group (site) settings (when $WM_PROJECT_SITE is set):
  - $WM_PROJECT_SITE/\<VERSION\>/etc/
  - $WM_PROJECT_SITE/etc/
- \b group (site) settings (when $WM_PROJECT_SITE is not set):
  - $WM_PROJECT_INST_DIR/site/\<VERSION\>/etc/
  - $WM_PROJECT_INST_DIR/site/etc/
- \b other (shipped) settings:
  - $WM_PROJECT_DIR/etc/

\return The list of full paths of all the matching files or
an empty list if the name cannot be found.
Optionally abort if the file cannot be found.
Optionally stop search after the first file has been found.

This change was proposed and agreed by the sponsors of the OpenFOAM project on
the OpenFOAM Hub, see https://openfoam.org/maintenance/
This commit is contained in:
Henry Weller
2018-11-28 22:00:34 +00:00
parent 3c60437a3e
commit bcbfe542cf
9 changed files with 62 additions and 53 deletions

View File

@ -227,7 +227,7 @@ esac
case "$mode" in case "$mode" in
*g*) # group (site) *g*) # group (site)
siteDir="${WM_PROJECT_SITE:-$prefixDir/site}" siteDir="${WM_PROJECT_SITE:-$prefixDir/site}"
dirList="$dirList $siteDir/$version $siteDir" dirList="$dirList $siteDir/$version/etc $siteDir/etc"
;; ;;
esac esac

View File

@ -140,9 +140,12 @@ noFilesMessage () {
} }
searchDirs="\ searchDirs="\
${HOME}/.OpenFOAM/$WM_PROJECT_VERSION \
${HOME}/.OpenFOAM \ ${HOME}/.OpenFOAM \
$WM_PROJECT_SITE \ $WM_PROJECT_SITE/$WM_PROJECT_VERSION/etc \
$WM_PROJECT_INST_DIR/site \ $WM_PROJECT_SITE/etc \
$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/etc \
$WM_PROJECT_INST_DIR/site/etc \
$FOAM_ETC/caseDicts" $FOAM_ETC/caseDicts"
ext="ANY" ext="ANY"

View File

@ -115,9 +115,9 @@
// - ~/.OpenFOAM/ // - ~/.OpenFOAM/
// <em>for version-independent files</em> // <em>for version-independent files</em>
// -# site-wide settings: // -# site-wide settings:
// - $WM_PROJECT_INST_DIR/site/\<VERSION\> // - $WM_PROJECT_INST_DIR/site/\<VERSION\>/etc/
// <em>for version-specific files</em> // <em>for version-specific files</em>
// - $WM_PROJECT_INST_DIR/site/ // - $WM_PROJECT_INST_DIR/site/etc/
// <em>for version-independent files</em> // <em>for version-independent files</em>
// -# shipped settings: // -# shipped settings:
// - $WM_PROJECT_DIR/etc/ // - $WM_PROJECT_DIR/etc/

View File

@ -5880,9 +5880,12 @@ _foamGet_ ()
{ {
_searchDirs () { _searchDirs () {
_dirs=="\ _dirs=="\
${HOME}/.OpenFOAM/$WM_PROJECT_VERSION \
${HOME}/.OpenFOAM \ ${HOME}/.OpenFOAM \
$WM_PROJECT_SITE \ $WM_PROJECT_SITE/$WM_PROJECT_VERSION/etc \
$WM_PROJECT_INST_DIR/site \ $WM_PROJECT_SITE/etc \
$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/etc \
$WM_PROJECT_INST_DIR/site/etc \
$FOAM_ETC/caseDicts" $FOAM_ETC/caseDicts"
_files="" _files=""

View File

@ -35,11 +35,11 @@ Description
- ~/.OpenFOAM/\<VERSION\> - ~/.OpenFOAM/\<VERSION\>
- ~/.OpenFOAM/ - ~/.OpenFOAM/
- \b group (site) settings (when $WM_PROJECT_SITE is set): - \b group (site) settings (when $WM_PROJECT_SITE is set):
- $WM_PROJECT_SITE/\<VERSION\> - $WM_PROJECT_SITE/\<VERSION\>/etc/
- $WM_PROJECT_SITE - $WM_PROJECT_SITE/etc/
- \b group (site) settings (when $WM_PROJECT_SITE is not set): - \b group (site) settings (when $WM_PROJECT_SITE is not set):
- $WM_PROJECT_INST_DIR/site/\<VERSION\> - $WM_PROJECT_INST_DIR/site/\<VERSION\>/etc/
- $WM_PROJECT_INST_DIR/site/ - $WM_PROJECT_INST_DIR/site/etc/
- \b other (shipped) settings: - \b other (shipped) settings:
- $WM_PROJECT_DIR/etc/ - $WM_PROJECT_DIR/etc/

View File

@ -35,11 +35,11 @@ Description
- ~/.OpenFOAM/\<VERSION\>/caseDicts/postProcessing - ~/.OpenFOAM/\<VERSION\>/caseDicts/postProcessing
- ~/.OpenFOAM/caseDicts/postProcessing - ~/.OpenFOAM/caseDicts/postProcessing
- \b group (site) settings (when $WM_PROJECT_SITE is set): - \b group (site) settings (when $WM_PROJECT_SITE is set):
- $WM_PROJECT_SITE/\<VERSION\>/caseDicts/postProcessing - $WM_PROJECT_SITE/\<VERSION\>/etc/caseDicts/postProcessing
- $WM_PROJECT_SITE/caseDicts/postProcessing - $WM_PROJECT_SITE/etc/caseDicts/postProcessing
- \b group (site) settings (when $WM_PROJECT_SITE is not set): - \b group (site) settings (when $WM_PROJECT_SITE is not set):
- $WM_PROJECT_INST_DIR/site/\<VERSION\>/caseDicts/postProcessing - $WM_PROJECT_INST_DIR/site/\<VERSION\>/etc/caseDicts/postProcessing
- $WM_PROJECT_INST_DIR/site/caseDicts/postProcessing - $WM_PROJECT_INST_DIR/site/etc/caseDicts/postProcessing
- \b other (shipped) settings: - \b other (shipped) settings:
- $WM_PROJECT_DIR/etc/caseDicts/postProcessing - $WM_PROJECT_DIR/etc/caseDicts/postProcessing

View File

@ -179,11 +179,12 @@ public:
// - ~/.OpenFOAM/\<VERSION\>/caseDicts/postProcessing // - ~/.OpenFOAM/\<VERSION\>/caseDicts/postProcessing
// - ~/.OpenFOAM/caseDicts/postProcessing // - ~/.OpenFOAM/caseDicts/postProcessing
// - \b group (site) settings (when $WM_PROJECT_SITE is set): // - \b group (site) settings (when $WM_PROJECT_SITE is set):
// - $WM_PROJECT_SITE/\<VERSION\>/caseDicts/postProcessing // - $WM_PROJECT_SITE/\<VERSION\>/etc/caseDicts/postProcessing
// - $WM_PROJECT_SITE/caseDicts/postProcessing // - $WM_PROJECT_SITE/etc/caseDicts/postProcessing
// - \b group (site) settings (when $WM_PROJECT_SITE is not set): // - \b group (site) settings (when $WM_PROJECT_SITE is not set):
// - $WM_PROJECT_INST_DIR/site/\<VERSION\>/caseDicts/postProcessing // - $WM_PROJECT_INST_DIR/site/\<VERSION\>/etc/
// - $WM_PROJECT_INST_DIR/site/caseDicts/postProcessing // caseDicts/postProcessing
// - $WM_PROJECT_INST_DIR/site/etc/caseDicts/postProcessing
// - \b other (shipped) settings: // - \b other (shipped) settings:
// - $WM_PROJECT_DIR/etc/caseDicts/postProcessing // - $WM_PROJECT_DIR/etc/caseDicts/postProcessing
static void list(); static void list();
@ -196,11 +197,12 @@ public:
// - ~/.OpenFOAM/\<VERSION\>/caseDicts/postProcessing // - ~/.OpenFOAM/\<VERSION\>/caseDicts/postProcessing
// - ~/.OpenFOAM/caseDicts/postProcessing // - ~/.OpenFOAM/caseDicts/postProcessing
// - \b group (site) settings (when $WM_PROJECT_SITE is set): // - \b group (site) settings (when $WM_PROJECT_SITE is set):
// - $WM_PROJECT_SITE/\<VERSION\>/caseDicts/postProcessing // - $WM_PROJECT_SITE/\<VERSION\>/etc/caseDicts/postProcessing
// - $WM_PROJECT_SITE/caseDicts/postProcessing // - $WM_PROJECT_SITE/etc/caseDicts/postProcessing
// - \b group (site) settings (when $WM_PROJECT_SITE is not set): // - \b group (site) settings (when $WM_PROJECT_SITE is not set):
// - $WM_PROJECT_INST_DIR/site/\<VERSION\>/caseDicts/postProcessing // - $WM_PROJECT_INST_DIR/site/\<VERSION\>/etc/
// - $WM_PROJECT_INST_DIR/site/caseDicts/postProcessing // caseDicts/postProcessing
// - $WM_PROJECT_INST_DIR/site/etc/caseDicts/postProcessing
// - \b other (shipped) settings: // - \b other (shipped) settings:
// - $WM_PROJECT_DIR/etc/caseDicts/postProcessing // - $WM_PROJECT_DIR/etc/caseDicts/postProcessing
// //
@ -221,11 +223,12 @@ public:
// - ~/.OpenFOAM/\<VERSION\>/caseDicts/postProcessing // - ~/.OpenFOAM/\<VERSION\>/caseDicts/postProcessing
// - ~/.OpenFOAM/caseDicts/postProcessing // - ~/.OpenFOAM/caseDicts/postProcessing
// - \b group (site) settings (when $WM_PROJECT_SITE is set): // - \b group (site) settings (when $WM_PROJECT_SITE is set):
// - $WM_PROJECT_SITE/\<VERSION\>/caseDicts/postProcessing // - $WM_PROJECT_SITE/\<VERSION\>/etc/caseDicts/postProcessing
// - $WM_PROJECT_SITE/caseDicts/postProcessing // - $WM_PROJECT_SITE/etc/caseDicts/postProcessing
// - \b group (site) settings (when $WM_PROJECT_SITE is not set): // - \b group (site) settings (when $WM_PROJECT_SITE is not set):
// - $WM_PROJECT_INST_DIR/site/\<VERSION\>/caseDicts/postProcessing // - $WM_PROJECT_INST_DIR/site/\<VERSION\>/etc/
// - $WM_PROJECT_INST_DIR/site/caseDicts/postProcessing // caseDicts/postProcessing
// - $WM_PROJECT_INST_DIR/site/etc/caseDicts/postProcessing
// - \b other (shipped) settings: // - \b other (shipped) settings:
// - $WM_PROJECT_DIR/etc/caseDicts/postProcessing // - $WM_PROJECT_DIR/etc/caseDicts/postProcessing
// //

View File

@ -54,21 +54,21 @@ Foam::fileNameList Foam::findEtcDirs(const fileName& local)
} }
// Search for group (site) directories in // Search for group (site) directories in
// * $WM_PROJECT_SITE/VERSION // * $WM_PROJECT_SITE/VERSION/etc/
// * $WM_PROJECT_SITE // * $WM_PROJECT_SITE/etc/
// //
searchDir = getEnv("WM_PROJECT_SITE"); searchDir = getEnv("WM_PROJECT_SITE");
if (searchDir.size()) if (searchDir.size())
{ {
if (isDir(searchDir)) if (isDir(searchDir))
{ {
fileName fullName = searchDir/FOAMversion/local; fileName fullName = searchDir/FOAMversion/"etc"/local;
if (isDir(fullName)) if (isDir(fullName))
{ {
dirs.append(fullName); dirs.append(fullName);
} }
fullName = searchDir/local; fullName = searchDir/"etc"/local;
if (isDir(fullName)) if (isDir(fullName))
{ {
dirs.append(fullName); dirs.append(fullName);
@ -78,19 +78,19 @@ Foam::fileNameList Foam::findEtcDirs(const fileName& local)
else else
{ {
// Or search for group (site) files in // Or search for group (site) files in
// * $WM_PROJECT_INST_DIR/site/VERSION // * $WM_PROJECT_INST_DIR/site/VERSION/etc/
// * $WM_PROJECT_INST_DIR/site // * $WM_PROJECT_INST_DIR/site/etc/
// //
searchDir = getEnv("WM_PROJECT_INST_DIR"); searchDir = getEnv("WM_PROJECT_INST_DIR");
if (isDir(searchDir)) if (isDir(searchDir))
{ {
fileName fullName = searchDir/"site"/FOAMversion/local; fileName fullName = searchDir/"site/etc"/FOAMversion/local;
if (isDir(fullName)) if (isDir(fullName))
{ {
dirs.append(fullName); dirs.append(fullName);
} }
fullName = searchDir/"site"/local; fullName = searchDir/"site/etc"/local;
if (isDir(fullName)) if (isDir(fullName))
{ {
dirs.append(fullName); dirs.append(fullName);
@ -153,15 +153,15 @@ Foam::fileNameList Foam::findEtcFiles
} }
// Search for group (site) files in // Search for group (site) files in
// * $WM_PROJECT_SITE/VERSION // * $WM_PROJECT_SITE/VERSION/etc/
// * $WM_PROJECT_SITE // * $WM_PROJECT_SITE/etc/
// //
searchDir = getEnv("WM_PROJECT_SITE"); searchDir = getEnv("WM_PROJECT_SITE");
if (searchDir.size()) if (searchDir.size())
{ {
if (isDir(searchDir)) if (isDir(searchDir))
{ {
fileName fullName = searchDir/FOAMversion/name; fileName fullName = searchDir/FOAMversion/"etc"/name;
if (isFile(fullName)) if (isFile(fullName))
{ {
results.append(fullName); results.append(fullName);
@ -171,7 +171,7 @@ Foam::fileNameList Foam::findEtcFiles
} }
} }
fullName = searchDir/name; fullName = searchDir/"etc"/name;
if (isFile(fullName)) if (isFile(fullName))
{ {
results.append(fullName); results.append(fullName);
@ -185,13 +185,13 @@ Foam::fileNameList Foam::findEtcFiles
else else
{ {
// Or search for group (site) files in // Or search for group (site) files in
// * $WM_PROJECT_INST_DIR/site/VERSION // * $WM_PROJECT_INST_DIR/site/VERSION/etc/
// * $WM_PROJECT_INST_DIR/site // * $WM_PROJECT_INST_DIR/site/etc/
// //
searchDir = getEnv("WM_PROJECT_INST_DIR"); searchDir = getEnv("WM_PROJECT_INST_DIR");
if (isDir(searchDir)) if (isDir(searchDir))
{ {
fileName fullName = searchDir/"site"/FOAMversion/name; fileName fullName = searchDir/"site/etc"/FOAMversion/name;
if (isFile(fullName)) if (isFile(fullName))
{ {
results.append(fullName); results.append(fullName);
@ -201,7 +201,7 @@ Foam::fileNameList Foam::findEtcFiles
} }
} }
fullName = searchDir/"site"/name; fullName = searchDir/"site/etc"/name;
if (isFile(fullName)) if (isFile(fullName))
{ {
results.append(fullName); results.append(fullName);

View File

@ -48,14 +48,14 @@ namespace Foam
// The search scheme allows for version-specific and // The search scheme allows for version-specific and
// version-independent files using the following hierarchy: // version-independent files using the following hierarchy:
// - \b user settings: // - \b user settings:
// - ~/.OpenFOAM/\<VERSION\> // - ~/.OpenFOAM/\<VERSION\>/
// - ~/.OpenFOAM/ // - ~/.OpenFOAM/
// - \b group (site) settings (when $WM_PROJECT_SITE is set): // - \b group (site) settings (when $WM_PROJECT_SITE is set):
// - $WM_PROJECT_SITE/\<VERSION\> // - $WM_PROJECT_SITE/\<VERSION\>/etc/
// - $WM_PROJECT_SITE // - $WM_PROJECT_SITE/etc/
// - \b group (site) settings (when $WM_PROJECT_SITE is not set): // - \b group (site) settings (when $WM_PROJECT_SITE is not set):
// - $WM_PROJECT_INST_DIR/site/\<VERSION\> // - $WM_PROJECT_INST_DIR/site/\<VERSION\>/etc/
// - $WM_PROJECT_INST_DIR/site/ // - $WM_PROJECT_INST_DIR/site/etc/
// - \b other (shipped) settings: // - \b other (shipped) settings:
// - $WM_PROJECT_DIR/etc/ // - $WM_PROJECT_DIR/etc/
// //
@ -67,14 +67,14 @@ fileNameList findEtcDirs(const fileName& local = fileName::null);
// The search scheme allows for version-specific and // The search scheme allows for version-specific and
// version-independent files using the following hierarchy: // version-independent files using the following hierarchy:
// - \b user settings: // - \b user settings:
// - ~/.OpenFOAM/\<VERSION\> // - ~/.OpenFOAM/\<VERSION\>/
// - ~/.OpenFOAM/ // - ~/.OpenFOAM/
// - \b group (site) settings (when $WM_PROJECT_SITE is set): // - \b group (site) settings (when $WM_PROJECT_SITE is set):
// - $WM_PROJECT_SITE/\<VERSION\> // - $WM_PROJECT_SITE/\<VERSION\>/etc/
// - $WM_PROJECT_SITE // - $WM_PROJECT_SITE/etc/
// - \b group (site) settings (when $WM_PROJECT_SITE is not set): // - \b group (site) settings (when $WM_PROJECT_SITE is not set):
// - $WM_PROJECT_INST_DIR/site/\<VERSION\> // - $WM_PROJECT_INST_DIR/site/\<VERSION\>/etc/
// - $WM_PROJECT_INST_DIR/site/ // - $WM_PROJECT_INST_DIR/site/etc/
// - \b other (shipped) settings: // - \b other (shipped) settings:
// - $WM_PROJECT_DIR/etc/ // - $WM_PROJECT_DIR/etc/
// //