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
索引
此文档由 man2html 使用手册页创建。
时间: 03:27:01 GMT, 2024 年 11 月 12 日