2017-01-23 4 views
1

Я использую Buck для создания моего проекта, но у меня сложная структура папок из-за использования подмодулей Git. Мой макет проекта выглядит следующим образом:Что означает //, когда у вас есть вложенные проекты Buck?

+ root 
+-- .buckconfig // X 
+-- BUCK // A 
+-- main.cpp 
+--+ library // Git Submodule! 
    +-- .buckconfig // Y 
    +-- BUCK // B 
    +--+ anotherLibrary 
     +-- .buckconfig 
     +-- BUCK // C 

В BUCK файле C, у меня есть этот путь: //:library. Если не использовать в качестве подмодуля, // будет разрешен до library/. Это поведение, которое я хочу, даже если library является подмодулем.

В приведенной выше компоновке будет разрешено //.buckconfig X или .buckconfig Y?

ответ

2

Это зависит от того, где вы запустите buck. Если вы запустите команду buck root, она сообщит вам, к чему относится //.

Похоже, вы можете воспользоваться признаком Бака, который не документирован (и все еще меняется) под названием Cells. Лучшая документация для этого, вероятно, one of Buck's tests.