2017-02-21 5 views

답변

0

this example repo을 살펴보십시오.


어떤 문제가 세포를 해결합니까?

  • 당신은 당신이 라이브러리를 복사
  • 프로젝트에서 해당 라이브러리를 사용하려면
  • 로 빌드의 repo에있는 라이브러리가 :

    세포는이 situtation을위한 좋은 적합 을 루트 폴더 (//)가 프로젝트의 루트로 변경했기 때문에 라이브러리의 BUCK 파일이 작동하지 않습니다.

  • 라이브러리의 BUCK 파일을 다시 쓰지 않으려 고합니다!

셀을 사용하면 자신의 .buckconfig 및 자체 벅 대상 계층 구조를 갖는 격리 된 하위 프로젝트를 만들 수 있습니다. 셀은 해당 대상을 내보낼 때 다른 셀의 대상을 사용할 수 있습니다.

어떻게 작동합니까?

예제의 고기는 .buckconfig에 있습니다

[repositories] 
    neither = vendor/neither 

리포지토리 태그는 벅을 알려줍니다 어디 프로젝트의 폴더 구조의 각 셀의 삶. 각 셀에는 별칭이 있습니다. 여기에 neither = vendor/neither이 있습니다. 즉, vendor/neither이라는 하위 폴더는 neither이라는 셀입니다.

cell-name//:target-in-cell 구문을 사용하여 셀 내부의 대상을 참조 할 수 있습니다.

deps = [ 
    'neither//:neither', 
], 

이 정말 강력한 기능, 그것은 도서관의 BUCK 휴대용 파일을 만들기 때문에 :

그래서 우리의 예를 들어 대상이 LoopPerfect/neither에 따라 확인합니다. 세포 내부에 표적을 노출시키기 위해해야 ​​할 일은 공개로 설정하는 것입니다 :

visibility = [ 
    'PUBLIC', 
]