Bazel에 참여

Bazel 프로젝트와 생태계를 지원하는 방법에는 여러 가지가 있습니다.

의견 보내기

Bazel을 사용하다 보면 개선이 필요한 점을 발견할 수 있습니다. 다음과 같은 경우 문제를 신고하면 도움이 됩니다.

  • Bazel이 비정상 종료되거나 bazel clean를 사용해서만 해결할 수 있는 버그가 발생합니다.
  • 문서가 불완전하거나 불분명합니다. 또한 페이지의 오른쪽 상단에 있는 '문제 만들기' 링크를 사용하여 현재 표시된 페이지에서 문제를 신고할 수 있습니다.
  • 오류 메시지를 개선할 수 있습니다.

커뮤니티에 참여

다음과 같은 방법으로 Bazel 커뮤니티에 참여할 수 있습니다.

코드 참여

Bazel은 대규모 프로젝트이므로 Bazel 소스 코드를 변경하기가 어려울 수 있습니다.

다음과 같은 방법으로 Bazel 생태계에 기여할 수 있습니다.

  • pull 요청에 기여하여 규칙 유지관리자 지원
  • 새 규칙을 만들고 오픈소스로 제공하기
  • 마이그레이션 도구 등의 Bazel 관련 도구에 참여
  • 다른 IDE 및 도구와의 Bazel 통합 개선

변경하기 전에 GitHub 문제를 생성하거나 bazel-dev@로 이메일을 보내 주세요.

스타일, 리팩터링 또는 '정리' 변경사항이 아닌 버그를 수정하거나 기능을 추가합니다. 변경사항에는 테스트와 문서가 포함되어야 하며 이전 버전과의 호환성, 이동성, 메모리 사용량 및 성능에 미치는 영향을 염두에 두어야 합니다.

변경사항을 제출하는 방법을 알아보려면 패치 승인 프로세스를 참조하세요.

Bazel의 코드 설명

Bazel은 여러 위치에 코드가 있는 대규모 코드베이스를 가지고 있습니다. 자세한 내용은 코드베이스 가이드를 참고하세요.

Bazel은 다음과 같이 구성되어 있습니다.

  • 클라이언트 코드는 src/main/cpp에 있으며 명령줄 인터페이스를 제공합니다.
  • 프로토콜 버퍼는 src/main/protobuf에 있습니다.
  • 서버 코드는 src/main/javasrc/test/java에 있습니다.
    • 대부분 SkyFrame 및 일부 유틸리티로 구성된 핵심 코드입니다.
    • 기본 제공 규칙은 com.google.devtools.build.lib.rulescom.google.devtools.build.lib.bazel.rules에 있습니다. 규칙 작성의 도전과제를 먼저 읽어보는 것이 좋습니다.
  • 자바 네이티브 인터페이스는 src/main/native에 있습니다.
  • 언어 지원을 위한 다양한 도구는 Bazel 컴파일 섹션의 목록에 설명되어 있습니다.

Bazel의 소스 코드 검색

Bazel의 소스 코드를 빠르게 검색하려면 Bazel 코드 검색을 사용합니다. Bazel의 저장소, 브랜치, 파일을 탐색할 수 있습니다. 기록, 차이점, 원인 정보를 볼 수도 있습니다. 자세한 내용은 Bazel 코드 검색 사용자 가이드를 참조하세요.