DOTNET-PKG.ECLASS

部分: eclass-manpages (5)
更新时间: 2024 年 11 月
索引 返回主要内容

名称

dotnet-pkg.eclass - .NET 软件包的通用函数和变量

描述

此 eclass 旨在帮助构建和安装使用 .NET SDK 的软件包。它提供了所需的阶段函数和特殊变量,使编写 .NET 软件包的 ebuild 更容易。如果你不使用导出的阶段函数,那么可以考虑使用“dotnet-pkg-base.eclass”代替。

.NET SDK 是微软的一个开源框架,它是 .NET Framework 的跨平台继任者。

.NET 软件包需要在打包之前进行适当的检查: - 必须声明兼容的 .NET SDK 版本,
  这 可以通过 检查 软件包的 "*.proj" 文件来完成,
  与 JAVA 不同,.NET 软件包 倾向于 锁定 到 一个 确定的 选定的 .NET SDK
  版本,因此使用其他 .NET 版本构建将基本不支持,- Nugets,软件包的 .NET 依赖项,类似于 JAVA 的 JAR,
  必须 使用 "NUGETS" 变量 或 捆绑在 内部 列出
  一个 "预构建" 存档,在这种情况下,"NUGET_PACKAGES" 变量也
  必须 明确 设置。 - 构建项目的 मुख्य 项目文件 (*.proj) 必须由 指定
  "DOTNET_PROJECT" 变量。

支持的 EAPIS

8

传递提供 ECLASSES

dotnet-pkg-base nuget

函数

dotnet-pkg_force-compat
此函数将特殊选项附加到所有“DOTNET_PKG_*_EXTRA_ARGS”变量中,以尝试强制与选定的“DOTNET_PKG_COMPAT” .NET SDK 版本兼容。

在继承之后调用此函数。

dotnet-pkg_pkg_setup
"dotnet-pkg" eclass 的默认“pkg_setup”。预构建配置和检查。

调用“dotnet-pkg-base_pkg_setup”。

dotnet-pkg_src_unpack
"dotnet-pkg" eclass 的默认 "src_unpack"。解压缩软件包源代码。

包含对 nugets (“.nupkg” 文件) 的特殊例外 - 它们改为复制到“NUGET_PACKAGES”目录。

dotnet-pkg_remove-bad <解决方案>
从给定的解决方案文件中删除“DOTNET_PKG_BAD_PROJECTS”指定的项目。

由“dotnet-pkg_src_prepare”使用。

dotnet-pkg_src_prepare
"dotnet-pkg" eclass 的默认“src_prepare”。准备软件包源代码。

运行“dotnet-pkg-base_remove-global-json”,“dotnet-pkg-base_remove-bad”以处理每个找到的解决方案文件,并准备使用 Nuget。

dotnet-pkg_foreach-project <args> ...
对“DOTNET_PKG_PROJECTS”变量中列出的每个项目运行指定的命令。

由“dotnet-pkg_src_configure”和“dotnet-pkg_src_compile”使用。

dotnet-pkg_src_configure
"dotnet-pkg" eclass 的默认 "src_configure"。配置软件包。

首先显示有关正在使用的当前 .NET SDK 的信息,然后恢复“DOTNET_PROJECT”指定的项目文件,之后恢复任何找到的解决方案。

dotnet-pkg_src_compile
"dotnet-pkg" eclass 的默认 "src_compile"。构建软件包。

使用“dotnet build”在“DOTNET_PROJECT”或“S”(临时构建目录)变量指定的目录中构建软件包。

有关更多信息,请参阅: "DOTNET_PROJECT" 变量和 "dotnet-pkg-base_get-project" 函数。

dotnet-pkg_src_test
"dotnet-pkg" eclass 的默认 "src_test"。测试软件包。

通过测试任何找到的解决方案来测试软件包。

此函数很可能不会执行任何测试,或者会执行错误或不完整的测试套件。维护者应该检查是否有任何或正确的测试被运行。

dotnet-pkg_src_install
"dotnet-pkg" eclass 的默认 "src_install"。安装软件包。

这是默认的软件包安装
  - 安装 编译好的 .NET 软件包 工件,         有关更多信息,请参阅 "dotnet-pkg-base_install" 和 "DOTNET_PKG_OUTPUT",

  - 从 .NET 软件包目录 创建 启动器 到 "/usr/bin",
    阶段 将 检测 以选择 具有 大写字母的 可执行文件
    (.NET 软件包中的常见现象)或不,
  - 调用 "einstalldocs"。

此函数很可能不足,或者必须在 ebuild 中重新定义。

ECLASS 变量

DOTNET_PKG_BAD_PROJECTS = ()
从所有找到的解决方案 (“.sln”) 文件中删除的项目列表。这些项目在“dotnet-pkg_src_prepare”函数中被删除。

此变量应在继承“dotnet-pkg.eclass”之后设置。

默认值为一个空数组。

示例

DOTNET_PKG_BAD_PROJECTS=( "${S}/BrokenTests" )
DOTNET_PKG_PROJECTS=( "${S}/DotnetProject" )

有关更多信息,请参阅: "dotnet-pkg_remove-bad" 函数。

DOTNET_PKG_PROJECTS
指向默认情况下由“dotnet-pkg_src_compile”阶段函数使用的主要 .NET 项目文件 (“.csproj”, “.fsproj”, “.vbproj”) 的路径。

在 .NET 版本 6.0 及更低版本中,可以立即构建项目解决方案 (“.sln”) 并将输出到指定的目录 (“--output DIR”),但版本 >= 7.0 不推荐使用此行为。这意味着当指向解决方案或包含解决方案文件的目录时,“dotnet-pkg-base_build”将失败。

此变量应在继承“dotnet-pkg.eclass”之后设置,建议在设置变量“${S}”之后设置。 "DOTNET_PKG_PROJECTS" 可以与 "S" 集成(请参阅下面的示例)。

示例

SRC_URI="..."
S="${WORKDIR}/${P}/src"

LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"

DOTNET_PKG_PROJECTS=( "${S}/DotnetProject" )

src_prepare() {
    ...
DOTNET_PKG_RESTORE_EXTRA_ARGS = ()
传递到软件包恢复的额外参数,在“src_configure”阶段。

此参数仅在恢复指定的“DOTNET_PROJECT”时传递。其他项目恢复器不使用此变量。

此变量应在继承“dotnet-pkg.eclass”之后设置,建议在设置变量“DOTNET_PROJECT”(来自“dotnet-pkg-base”eclass)之后设置。

默认值为一个空数组。

有关更多信息,请参阅“DOTNET_PROJECT”变量和“dotnet-pkg_src_configure”。

DOTNET_PKG_BUILD_EXTRA_ARGS = ()
传递到软件包构建的额外参数,在“src_compile”阶段。

此参数仅在构建指定的“DOTNET_PROJECT”时传递。其他项目构建不使用此变量。

此变量应在继承“dotnet-pkg.eclass”之后设置,建议在设置变量“DOTNET_PROJECT”(来自“dotnet-pkg-base”eclass)之后设置。

默认值为一个空数组。

示例

DOTNET_PKG_BUILD_EXTRA_ARGS=( -p:WarningLevel=0 )

有关更多信息,请参阅“DOTNET_PROJECT”变量和“dotnet-pkg_src_compile”。

DOTNET_PKG_TEST_EXTRA_ARGS = ()
传递到软件包测试的额外参数,在“src_test”阶段。

此参数仅在测试找到的“.sln”解决方案文件时传递(另请参阅“dotnet-pkg-base_foreach-solution”)。其他项目构建不使用此变量。

此变量应在继承“dotnet-pkg.eclass”之后设置,建议在设置变量“DOTNET_PROJECT”(来自“dotnet-pkg-base”eclass)之后设置。

默认值为一个空数组。

示例

DOTNET_PKG_TEST_EXTRA_ARGS=( -p:RollForward=Major )

有关更多信息,请参阅“DOTNET_PROJECT”变量和“dotnet-pkg_src_test”。

作者

Anna Figueiredo Gomes <[email protected]>
Maciej Barć <[email protected]>

维护者

Gentoo Dotnet 项目 <[email protected]>

报告错误

请通过 https://bugs.gentoo.org/ 报告错误。

文件

dotnet-pkg.eclass

另请参阅

ebuild(5)
https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/dotnet-pkg.eclass


索引

名称
描述
支持的 EAPIS
传递提供 ECLASSES
函数
ECLASS 变量
作者
维护者
报告错误
文件
另请参阅

此文档由 man2html 使用手册页创建。
时间: 03:27:01 GMT, 2024 年 11 月 12 日