11 Bundles

zhangly 2021-03-15 19:01:11
Categories: > Tags:

概述

Bundle是一个包含context文件和程序包仓库的目录。

context中的所有包都在存储库中,这使得bundle是可移动和独立的。
通过命令创建一个bundle:

]$ rez-env foo -o foo.rxt
]$ rez-bundle foo.rxt ./mybundle

# example of running a command from the bundled context
]$ rez-env -i ./mybundle/context.rxt -- foo-tool

通过API创建bundle:

from rez.bundle_context import bundle_context
from rez.resolved_context import ResolvedContext

c = ResolvedContext(["python-3+", "foo-1.2+<2"])
bundle_context(c, "./mybundle")

结构

一个bundle的层级结构:

.../mybundle/
       ./context.rxt
       ./packages/
           <standard package repo structure>

在rxt文件中包的引用是相对的,这使得bundle可以被重新定位。