commit:     15f398581e7c6643ee4134434df82871a0606cb1
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  7 17:18:50 2025 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Tue Jan 14 17:07:18 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=15f39858

eclass/dotnet-pkg-base.eclass: add DOTNET_VERBOSITY user variable

DOTNET_VERBOSITY controls dotnet restore/build/test verbosity.
We allow the user to set this value to any other to value because it
might be helpful when debugging dotnet processes. On the other hand,
generally warnings and errors provide enough info for debugging package
emerge process.

Normally we use the default value - "minimal", that still reports what is
being built and any warnings/errors but it might come handy to set it
to a higher value for the Gentoo Tinderbox CI.

Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 eclass/dotnet-pkg-base.eclass | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass
index d9abff3859f6..b266c1b5dffc 100644
--- a/eclass/dotnet-pkg-base.eclass
+++ b/eclass/dotnet-pkg-base.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 # @ECLASS: dotnet-pkg-base.eclass
@@ -32,6 +32,23 @@ _DOTNET_PKG_BASE_ECLASS=1
 
 inherit edo multiprocessing nuget
 
+# @ECLASS_VARIABLE: DOTNET_VERBOSITY
+# @USER_VARIABLE
+# @DESCRIPTION:
+# Controls verbosity of the dotnet restore/build/test processes.
+#
+# Defaults to "minimal" - this only reports which projects are being built
+# and warnings/errors, if any. All the possible values are: "quiet", "minimal",
+# "normal", "detailed" and "diagnostic". For more information on verbosity
+# levels, see the official .NET SDK documentation on:
+# * https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet
+# * 
https://learn.microsoft.com/en-us/dotnet/api/microsoft.build.framework.loggerverbosity
+#
+# This variable can be used to debug package build process (by selecting
+# anything above "minimal") but generally warnings/errors provide all
+# the necessary info.
+: "${DOTNET_VERBOSITY:=minimal}"
+
 # @ECLASS_VARIABLE: DOTNET_PKG_COMPAT
 # @REQUIRED
 # @PRE_INHERIT
@@ -385,6 +402,7 @@ dotnet-pkg-base_restore() {
        local -a restore_args=(
                --runtime "${DOTNET_PKG_RUNTIME}"
                --source "${NUGET_PACKAGES}"
+               --verbosity "${DOTNET_VERBOSITY}"
                -maxCpuCount:$(makeopts_jobs)
                "${@}"
        )
@@ -407,6 +425,7 @@ dotnet-pkg-base_restore-tools() {
 
        local -a tool_restore_args=(
                --add-source "${NUGET_PACKAGES}"
+               --verbosity "${DOTNET_VERBOSITY}"
        )
 
        if [[ -n "${1}" ]] ; then
@@ -447,6 +466,7 @@ dotnet-pkg-base_build() {
                --no-self-contained
                --output "${DOTNET_PKG_OUTPUT}"
                --runtime "${DOTNET_PKG_RUNTIME}"
+               --verbosity "${DOTNET_VERBOSITY}"
                -maxCpuCount:$(makeopts_jobs)
        )
 
@@ -482,6 +502,7 @@ dotnet-pkg-base_test() {
        local -a test_args=(
                --configuration "${DOTNET_PKG_CONFIGURATION}"
                --no-restore
+               --verbosity "${DOTNET_VERBOSITY}"
                -maxCpuCount:$(makeopts_jobs)
                "${@}"
        )

Reply via email to