跳转至

包源码#

默认情况下,包定义假定源码位置在包定义的根目录中。

例如,如果你的包有以下结构:

my_package
├── pixi.toml
├── src
│   └── my_code.cpp
└── include
    └── my_code.h
构建后端应该有不从哪里获取源代码的合理默认值。 除了 pixi-build-rattler-build 后端你在 recipe.yaml 中指定源码外,构建后端将默认为包清单所在的目录

或者,你可以指定源码的位置。

路径#

如果你的源码位于其他地方,你可以使用 package.build.source.path 字段指定源码的位置。

例如,如果你的包有以下结构:

my_package
├── pixi.toml
└── source
    ├── src
    │   └── my_code.cpp
    └── include
        └── my_code.h
你可以像这样指定源码的位置:
[package.build.source]
path = "source"

这也可以与相对路径一起使用:

[package.build.source]
path = "../my_other_source_directory"

这可以与 git 子模块很好地结合使用。

Git#

如果你的源码托管在 git 仓库中,你可以使用 package.build.source.git 字段指定仓库 URL。

[package.build.source]
git = "https://github.com/user/repo.git"

你可以固定到特定的分支、标签或提交:

[package.build.source]
git = "https://github.com/user/repo.git"
branch = "main"

[package.build.source]
git = "https://github.com/user/repo.git"
tag = "v1.0.0"
[package.build.source]
git = "https://github.com/user/repo.git"
rev = "abc123"

如果源码位于仓库的子目录中,你也可以指定:

[package.build.source]
git = "https://github.com/user/repo.git"
tag = "v1.0.0"
subdirectory = "packages/mypackage"