Buck (소프트웨어)
Buck (software)개발자 | 페이스북, 주식회사 |
---|---|
초기 릴리즈 | 2013년 4월 [1] | , 전(
안정된 릴리스 | 2021.01.12.01 / 2021년 1월 12일; [2] 전( |
저장소 | |
기입처 | 자바 |
운영 체제 | 크로스 플랫폼 |
면허증. | Apache 라이센스 2.0[3] |
웹 사이트 | buck.build(빌드) ![]() |
Buck은 Facebook, Inc.에서 개발 및 사용하는 다국어 빌드 시스템입니다.이 모듈은 코드와 리소스로 구성된 재사용 가능한 작은 모듈을 모노레포 [4]내에 구축하기 위해 설계되었습니다.소스 코드 입력으로 C++(Objective-C, Swift), Shell, Java(Kotlin, Groovy), Python, Lua, OCaml, Rust, Go 및 기타 언어를 지원합니다.IOS, Android 등 다양한 타깃플랫폼의 바이너리 출력을 생성할 수 있습니다.NET 및 Java VM 런타임.Buck은 Apache License 2.0에 [3]따라 라이센스가 부여됩니다.
Buck은 종속성의 명시적 선언을 요구하며 심볼릭 링크 트리를 사용하여 이를 적용합니다.모든 의존관계는 명확하고 Buck은 모든 소스 파일과 빌드 타깃의 비순환형 방향 그래프를 가지고 있기 때문에 Buck은 증분 재컴파일을 수행할 수 있으며 변경된 파일의 다운스트림에만 타깃을 재구축할 수 있습니다.Buck은 의존하는 파일 내용의 해시인 각 타겟의 키를 계산합니다.이 키에서 빌드 대상으로의 매핑을 빌드 캐시에 저장합니다.타겟이 의존관계 내용의 결정론적 함수인 경우 Buck은 HTTP Cache API를 지원하므로 이 빌드 캐시를 개발자와 CI 간에 공유할 수 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Bolin, Michael (May 14, 2013). "Buck: How we build Android apps at Facebook". Notes. Facebook. Facebook Engineering. Retrieved 2019-07-16.
- ^ "Releases · facebook/buck". GitHub.
- ^ a b "buck/license". April 29, 2013. Retrieved 2017-10-20.
- ^ "Overview". Buck: a build tool. Retrieved 2018-07-16.
Buck is designed to build multiple deliverables from a single repository—that is, a monorepo—rather than from multiple repositories
외부 링크