跳到主要内容

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.jsonkmpkg-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"
}
]
}