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:
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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/
|
||||||
|
|||||||
@ -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=""
|
||||||
|
|||||||
@ -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/
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
//
|
//
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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/
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user