mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: improve build naming without git
- now defaults to the project-version when absolutely nothing else is known STYLE: simplify internal calling in wmakeBuildInfo
This commit is contained in:
@ -30,6 +30,7 @@
|
|||||||
#
|
#
|
||||||
# Environment
|
# Environment
|
||||||
# - WM_PROJECT_DIR
|
# - WM_PROJECT_DIR
|
||||||
|
# - WM_PROJECT_VERSION
|
||||||
# - WM_DIR (unset defaults to WM_PROJECT_DIR/wmake)
|
# - WM_DIR (unset defaults to WM_PROJECT_DIR/wmake)
|
||||||
#
|
#
|
||||||
# Note
|
# Note
|
||||||
@ -179,6 +180,13 @@ declare -A metaInfo
|
|||||||
#
|
#
|
||||||
getMakeInfo()
|
getMakeInfo()
|
||||||
{
|
{
|
||||||
|
if [ "${#makeInfo[*]}" -eq 4 ]
|
||||||
|
then
|
||||||
|
##echo "use cached value for make info" 1>&2
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
##echo "get make info" 1>&2
|
||||||
|
|
||||||
local api patch build branch
|
local api patch build branch
|
||||||
makeInfo=()
|
makeInfo=()
|
||||||
|
|
||||||
@ -206,7 +214,6 @@ getMakeInfo()
|
|||||||
makeInfo[patch]="${patch:-0}" # default is 0
|
makeInfo[patch]="${patch:-0}" # default is 0
|
||||||
makeInfo[branch]="$branch"
|
makeInfo[branch]="$branch"
|
||||||
makeInfo[build]="$build"
|
makeInfo[build]="$build"
|
||||||
makeInfo[cached]=true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -224,6 +231,13 @@ getMakeInfo()
|
|||||||
#
|
#
|
||||||
getMetaInfo()
|
getMetaInfo()
|
||||||
{
|
{
|
||||||
|
if [ "${#metaInfo[*]}" -eq 4 ]
|
||||||
|
then
|
||||||
|
##echo "use cached value for meta info" 1>&2
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
##echo "get meta info" 1>&2
|
||||||
|
|
||||||
local api patch build branch
|
local api patch build branch
|
||||||
metaInfo=()
|
metaInfo=()
|
||||||
|
|
||||||
@ -242,7 +256,6 @@ getMetaInfo()
|
|||||||
metaInfo[patch]="${patch:-0}" # default is 0
|
metaInfo[patch]="${patch:-0}" # default is 0
|
||||||
metaInfo[branch]="$branch"
|
metaInfo[branch]="$branch"
|
||||||
metaInfo[build]="$build"
|
metaInfo[build]="$build"
|
||||||
metaInfo[cached]=true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -257,14 +270,14 @@ getMetaInfo()
|
|||||||
#
|
#
|
||||||
getApi()
|
getApi()
|
||||||
{
|
{
|
||||||
[ -n "${makeInfo[cached]}" ] || getMakeInfo
|
getMakeInfo
|
||||||
|
|
||||||
# Local copy
|
# Local copy
|
||||||
local api="${makeInfo[api]}"
|
local api="${makeInfo[api]}"
|
||||||
|
|
||||||
if [ -z "$api" ]
|
if [ -z "$api" ]
|
||||||
then
|
then
|
||||||
[ -n "${metaInfo[cached]}" ] || getMetaInfo
|
getMetaInfo
|
||||||
api="${metaInfo[api]}"
|
api="${metaInfo[api]}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -284,7 +297,7 @@ getApi()
|
|||||||
#
|
#
|
||||||
getPatchLevel()
|
getPatchLevel()
|
||||||
{
|
{
|
||||||
[ -n "${metaInfo[cached]}" ] || getMetaInfo
|
getMetaInfo
|
||||||
|
|
||||||
# Local copy
|
# Local copy
|
||||||
local value="${metaInfo[patch]}"
|
local value="${metaInfo[patch]}"
|
||||||
@ -301,10 +314,8 @@ getPatchLevel()
|
|||||||
# Report make info
|
# Report make info
|
||||||
reportMakeInfo()
|
reportMakeInfo()
|
||||||
{
|
{
|
||||||
local key
|
getMakeInfo
|
||||||
|
getMetaInfo
|
||||||
[ -n "${makeInfo[cached]}" ] || getMakeInfo
|
|
||||||
[ -n "${metaInfo[cached]}" ] || getMetaInfo
|
|
||||||
|
|
||||||
local patch="${metaInfo[patch]}" # <- From meta-info only
|
local patch="${metaInfo[patch]}" # <- From meta-info only
|
||||||
makeInfo[patch]="${patch:=0}" # Extra safety
|
makeInfo[patch]="${patch:=0}" # Extra safety
|
||||||
@ -320,9 +331,7 @@ reportMakeInfo()
|
|||||||
# Report meta info
|
# Report meta info
|
||||||
reportMetaInfo()
|
reportMetaInfo()
|
||||||
{
|
{
|
||||||
local key
|
getMetaInfo
|
||||||
|
|
||||||
[ -n "${metaInfo[cached]}" ] || getMetaInfo
|
|
||||||
|
|
||||||
local patch="${metaInfo[patch]}" # <- From meta-info only
|
local patch="${metaInfo[patch]}" # <- From meta-info only
|
||||||
metaInfo[patch]="${patch:=0}" # Extra safety
|
metaInfo[patch]="${patch:=0}" # Extra safety
|
||||||
@ -343,15 +352,27 @@ checkDiff()
|
|||||||
local verbose="$1"
|
local verbose="$1"
|
||||||
local key diff
|
local key diff
|
||||||
|
|
||||||
[ -n "${makeInfo[cached]}" ] || getMakeInfo
|
getMakeInfo
|
||||||
[ -n "${metaInfo[cached]}" ] || getMetaInfo
|
getMetaInfo
|
||||||
|
|
||||||
for key in api patch branch build
|
for key in api patch branch build
|
||||||
do
|
do
|
||||||
if [ "${makeInfo[$key]}" != "${metaInfo[$key]}" ]
|
if [ "${makeInfo[$key]}" != "${metaInfo[$key]}" ]
|
||||||
|
then
|
||||||
|
case "$key" in
|
||||||
|
(branch | build)
|
||||||
|
# Only trigger when make info (branch, build) are non-empty
|
||||||
|
if [ -n "${makeInfo[$key]}" ]
|
||||||
then
|
then
|
||||||
diff="$diff $key"
|
diff="$diff $key"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
;;
|
||||||
|
(*)
|
||||||
|
diff="$diff $key"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$verbose" = verbose ] && [ -n "$diff" ]
|
if [ "$verbose" = verbose ] && [ -n "$diff" ]
|
||||||
@ -365,7 +386,8 @@ checkDiff()
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
test -z "$diff"
|
# No diffs, but never permit entirely empty values for build.
|
||||||
|
test -z "$diff" || test -z "${makeInfo[build]}${metaInfo[build]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -374,8 +396,8 @@ checkDiff()
|
|||||||
#
|
#
|
||||||
performUpdate()
|
performUpdate()
|
||||||
{
|
{
|
||||||
[ -n "${makeInfo[cached]}" ] || getMakeInfo
|
getMakeInfo
|
||||||
[ -n "${metaInfo[cached]}" ] || getMetaInfo
|
getMetaInfo
|
||||||
|
|
||||||
# Local copies of the make info
|
# Local copies of the make info
|
||||||
local api="${makeInfo[api]}"
|
local api="${makeInfo[api]}"
|
||||||
@ -389,6 +411,9 @@ performUpdate()
|
|||||||
[ -n "$branch" ] || branch="${metaInfo[branch]}"
|
[ -n "$branch" ] || branch="${metaInfo[branch]}"
|
||||||
[ -n "$build" ] || build="${metaInfo[build]}"
|
[ -n "$build" ] || build="${metaInfo[build]}"
|
||||||
|
|
||||||
|
# Fallback to WM_PROJECT_VERSION alone
|
||||||
|
[ -n "$build" ] || build="${WM_PROJECT_VERSION:-unknown}"
|
||||||
|
|
||||||
local outputFile
|
local outputFile
|
||||||
|
|
||||||
# build-info
|
# build-info
|
||||||
@ -447,8 +472,8 @@ performFiltering()
|
|||||||
exit 2
|
exit 2
|
||||||
}
|
}
|
||||||
|
|
||||||
[ -n "${makeInfo[cached]}" ] || getMakeInfo
|
getMakeInfo
|
||||||
[ -n "${metaInfo[cached]}" ] || getMetaInfo
|
getMetaInfo
|
||||||
|
|
||||||
# Local copies of the make info
|
# Local copies of the make info
|
||||||
local api="${makeInfo[api]}"
|
local api="${makeInfo[api]}"
|
||||||
@ -479,7 +504,8 @@ performFiltering()
|
|||||||
if [ -z "$build" ]
|
if [ -z "$build" ]
|
||||||
then
|
then
|
||||||
build="${metaInfo[build]}"
|
build="${metaInfo[build]}"
|
||||||
build="nogit${build:+-$build}"
|
# Fallback to WM_PROJECT_VERSION
|
||||||
|
build="${build:-${WM_PROJECT_VERSION:-unknown}}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sed \
|
sed \
|
||||||
|
|||||||
Reference in New Issue
Block a user