kmpkg new
命令概要
kmpkg new --application
kmpkg new --name hello --version 1.0 [--version-relaxed | --version-date | --version-string]
在当前工作目录中创建清单文件 kmpkg.json 和默认配置文件 kmpkg-configuration.json,生成的文件可直接在项目中使用。
若你的项目是面向终端用户的应用程序,请使用 --application 参数。
若未使用 --application,则必须指定 --name 和 --version 参数。--version-date、--version-relaxed 或 --version-string 可强制指定使用某一特定版本格式。
有关版本格式的更多信息,请参阅 版本控制参考。
命令选项
所有 kmpkg 命令均支持一组通用选项。
--application
创建适用于应用程序场景的清单文件,无需指定名称和版本参数。
--name
要写入清单文件的项目名称。
--version
指定要写入清单文件的版本号。若未传入其他版本格式参数,会根据输入内容的格式自动推断适用的版本类型。
--version-relaxed
指定写入清单文件的版本为“宽松型(relaxed)”版本。宽松型版本遵循语义化版本的格式规范,但允许包含任意数量的数值段。更多信息请参阅 版本控制参考。
--version-date
指定写入清单文件的版本为“日期型(date)”版本。日期型版本采用 ISO 8601 日期格式(例如 "YYYY-MM-DD")。更多信息请参阅 版本控制参考。
--version-string
指定写入清单文件的版本为“字符串型(string)”版本,该类型版本无版本排序语义。更多信息请参阅 版本控制参考。
示例
信息
kmpkg new会在kmpkg.json和kmpkg-configuration.json文件中生成元数据,其中包含与实验性制品(artifacts)功能的集成配置。 特别说明:配置中"kind": "artifact"的注册表项用于实验性的 kmpkg-artifacts 功能。
使用 --application 参数
$ kmpkg new --application
$ type kmpkg.json
{}
$ type .\kmpkg-configuration.json
{
"default-registry": {
"kind": "git",
"baseline": "64adda19c86e89526b5e27703a193c14477cce07",
"repository": "https://github.com/kumose/kmpkg"
},
"registries": [
{
"kind": "artifact",
"location": "https://github.com/kumose/kmpkg-ce-catalog/archive/refs/heads/main.zip",
"name": "microsoft"
}
]
}
使用 --name 和 --version 参数
$ kmpkg new --name hello --version 2023-07-05
$ type kmpkg.json
{
"name": "hello",
"version-date": "2023-07-05"
}
$ type .\kmpkg-configuration.json
{
"default-registry": {
"kind": "git",
"baseline": "64adda19c86e89526b5e27703a193c14477cce07",
"repository": "https://github.com/kumose/kmpkg"
},
"registries": [
{
"kind": "artifact",
"location": "https://github.com/kumose/kmpkg-ce-catalog/archive/refs/heads/main.zip",
"name": "microsoft"
}
]
}
显式指定版本格式
$ kmpkg new --name hello --version 1.0 --version-date
error: `1.0` 不是有效的日期型版本。日期型版本必须遵循 YYYY-MM-DD 格式,且歧义消除符必须是点分隔的正整数值(无前导零)。
$ kmpkg new --name hello --version 1.0 --version-string
$ type kmpkg.json
{
"name": "hello",
"version-string": "1.0"
}
$ type .\kmpkg-configuration.json
{
"default-registry": {
"kind": "git",
"baseline": "64adda19c86e89526b5e27703a193c14477cce07",
"repository": "https://github.com/kumose/kmpkg"
},
"registries": [
{
"kind": "artifact",
"location": "https://github.com/kumose/kmpkg-ce-catalog/archive/refs/heads/main.zip",
"name": "microsoft"
}
]
}