██████╗ ██╗ █████╗ ██████╗ ███████╗
██╔══██╗██║ ██╔══██╗██╔══██╗██╔════╝
██████╔╝██║ ███████║██║ ██║█████╗
██╔══██╗██║ ██╔══██║██║ ██║██╔══╝
██████╔╝███████╗██║ ██║██████╔╝███████╗
╚═════╝ ╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝
영어 | 简体中文
대규모 모노레포 코드베이스의 트렁크 기반 개발을 위한 사용하기 쉽고 빠르며 현대적인 빌드 시스템입니다.
먼저 멋진 데모를 살펴보겠습니다.
마스터 브랜치의 코드는 개발 버전이므로 알파 버전으로 간주해야 합니다. 공식적인 환경에서는 태그 버전을 사용하는 것이 좋습니다. 대규모 내부 코드베이스에 대한 검증된 버전을 수시로 태그에 공개할 예정입니다.
버전 2.0이 출시 후보에 있습니다! 여기에는 다음과 같은 주목할 만한 변경 사항이 포함됩니다.
업그레이드하려면 업그레이드 노트를 따르십시오.
블레이드는 최신 빌드 시스템으로 설계되었습니다. 강력하고 사용하기 쉽습니다. c/C++, java, python, scala, protobuf 등과 같은 여러 언어 구축을 지원합니다. 대상 종속성을 자동으로 분석하고 컴파일, 링크, 테스트(증분 테스트 및 병렬 테스트 포함) 및 정적 코드 검사를 함께 통합합니다. 이는 프로젝트의 건축 규칙의 명확성과 단순성을 향상시키는 것을 목표로 합니다.
Blade를 사용하면 간단한 명령줄 하나만 입력하여 여러 대상을 컴파일, 링크 및 테스트할 수 있습니다. 예를 들어:
공통 디렉터리의 모든 대상을 재귀적으로 빌드하고 테스트합니다.
blade test common...
대상을 32비트로 빌드 및 테스트
blade test -m32 common...
디버그 모드로 대상 빌드 및 테스트
blade test -pdebug common...
그리고 플래그를 함께 결합할 수 있습니다.
blade test -m32 -pdebug common...
Blade는 Google의 빌드 시스템에 대한 공개 정보에서 영감을 받았습니다. 다음은 Google 공식 블로그의 참조 기사입니다. 클라우드에서 빌드: 빌드 시스템 작동 방식.
2015년 말에 bazel
오픈 소스 빌드 시스템으로 부분적으로 다시 작성된 버전을 출시했습니다.
Blade는 내부적으로 Ninja 스크립트를 생성하므로 당연히 Ninja에 따라 다릅니다.
Python은 강력하고 사용하기 쉬운 언어입니다. 우리는 Python을 좋아합니다.
protobuf와 같은 일부 라이브러리는 Google에서 오픈소스로 제공됩니다.
테스트,
gperftools는 편리하고 강력하며 이러한 라이브러리를 통합했습니다.