我知道undocumented feature个{@ 3}}中有buck个单元格。有some tests证明它们是如何工作的,但是还有关于它们的书面信息吗?
细胞如何在Buck中发挥作用?
答案 0 :(得分:1)
细胞解决了什么问题?
细胞非常适合这种情况:
BUCK
文件不起作用,因为根(//
)已更改为项目的根目录BUCK
个文件!单元格允许我们创建具有自己的.buckconfig
和他们自己的Buck目标层次结构的孤立子项目。当导出这些目标时,单元格可以使用其他单元格中的目标。
如何运作?
示例的内容位于.buckconfig
:
[repositories]
neither = vendor/neither
存储库标记告诉Buck每个单元格位于项目的文件夹结构中。每个单元格都有一个别名。我们在这里neither = vendor/neither
,这意味着子文件夹vendor/neither
是一个名为neither
的单元格。
我们可以使用以下语法引用单元格内的目标:cell-name//:target-in-cell
。
因此,要使我们的示例目标取决于LoopPerfect/neither:
deps = [
'neither//:neither',
],
这是一个非常强大的功能,因为它使库BUCK
文件可移植。在单元格中公开目标所需要做的就是将其公开:
visibility = [
'PUBLIC',
]