我一直在使用docs作为我与Nexus分发的项目,我遇到了一个难题。我需要为每个版本发布两种不同的配置:Release和Debug。通常,普通消费者将使用Release工件,但有些人会想要/需要Debug工件。
如何对工件进行一致的版本设置,以使Release配置优先于Debug配置?
我可以为Debug配置添加一个标识符,但是预发布版本的优先级错误。
✓) 1.0.0-debug (Debug) < 1.0.0 (Release) ×) 1.0.0-alpha.debug (Debug) > 1.0.0-alpha (Release)
我可以使用元数据,但优先级是相同的。
×) 1.0.0+debug (Debug) = 1.0.0 (Release) ×) 1.0.0+debug (Debug) = 1.0.0+release (Release)
也许我只是以错误的方式接近这一点。如果是这样,什么是正确的方法?一个单独的神器?
答案 0 :(得分:0)
首先让我们定义一些术语。大多数现代构建系统至少具有&#34; Debug&#34;和&#34;发布&#34;构建输出的配置,但在SemVer术语中,这些类型中的任何一种都可以是&#34; Release&#34;版本(X.0.0)或&#34;预售&#34;版本(X.Y.Z-prereleaseTag)。对于代码覆盖和分析配置也是如此。
一个软件包可能只包含一个版本的产品,但配置数量可能无限制,因此您通常可以将所有配置打包在单个版本的不同目录中。
示例包布局:
MyLib.1.0.0
Debug
Docs
Bin
Include
Release
Docs
Bin
Include
详细信息取决于您使用的包装工具。 Nuget和NPM都有自己的标准布局约定,但允许你以任何你想要的方式进行布局。