Bạn có thể tải các hàm sau từ @bazel_tools//tools/build_defs/repo:git.bzl
.
git_repository
git_repository(name, branch, build_file, build_file_content, commit, init_submodules, patch_args, patch_cmds, patch_cmds_win, patch_tool, patches, recursive_init_submodules, remote, shallow_since, strip_prefix, tag, verbose, workspace_file, workspace_file_content)
Sao chép kho lưu trữ git bên ngoài.
Sao chép kho lưu trữ Git, kiểm tra thẻ được chỉ định hoặc cam kết và cung cấp các mục tiêu của kho lưu trữ đó để liên kết. Ngoài ra, hãy xác định mã của cam kết đã thực sự được kiểm tra và ngày của cam kết, đồng thời trả về một lệnh với các tham số cung cấp phiên bản có thể tái tạo của quy tắc này (không nhất thiết là một thẻ).
Trước tiên, Bazel sẽ cố gắng thực hiện một lượt tìm nạp nông chỉ của thay đổi đã chỉ định. Nếu không thành công (thường là do thiếu tính năng hỗ trợ máy chủ), thì quá trình này sẽ quay lại phương thức tìm nạp toàn bộ kho lưu trữ.
Thuộc tính
name |
Tên; bắt buộc
Tên riêng biệt cho kho lưu trữ này. |
branch |
Chuỗi; không bắt buộc
nhánh trong kho lưu trữ từ xa để kiểm tra. Bạn phải chỉ định chính xác một trong các nhánh, thẻ hoặc thay đổi. |
build_file |
Nhãn; không bắt buộc
Tệp dùng làm tệp BUILD cho kho lưu trữ này. Thuộc tính này là một nhãn tuyệt đối (sử dụng "@//" cho kho lưu trữ chính). Tệp này không cần phải được đặt tên là BUILD, nhưng có thể là (chẳng hạn như BUILD.new-repo-name có thể hoạt động tốt để phân biệt với các tệp BUILD thực tế của kho lưu trữ. Bạn phải chỉ định tệp build_file hoặc build_file_content. |
build_file_content |
Chuỗi; không bắt buộc
Nội dung của tệp BUILD cho kho lưu trữ này. Bạn phải chỉ định tệp build_file hoặc build_file_content. |
commit |
Chuỗi; không bắt buộc
cam kết cụ thể được kiểm tra. Bạn phải chỉ định chính xác một trong các nhánh, thẻ hoặc thay đổi. |
init_submodules |
Boolean; không bắt buộc
Liệu có sao chép các mô-đun con trong kho lưu trữ hay không. |
patch_args |
Danh sách chuỗi; không bắt buộc
Các đối số được cung cấp cho công cụ vá. Mặc định là -p0, tuy nhiên, -p1 thường sẽ cần thiết cho các bản vá được git tạo. Nếu bạn chỉ định nhiều đối số -p, thì đối số cuối cùng sẽ có hiệu lực.Nếu các đối số khác không phải -p được chỉ định, Bazel sẽ quay lại sử dụng công cụ dòng lệnh vá thay vì triển khai bản vá gốc Bazel. Khi quay lại công cụ dòng lệnh vá và không chỉ định thuộc tính patch_tool, hệ thống sẽ sử dụng "patch". |
patch_cmds |
Danh sách các chuỗi; không bắt buộc
Trình tự các lệnh Bash sẽ được áp dụng trên Linux/Macos sau khi áp dụng các bản vá. |
patch_cmds_win |
Danh sách chuỗi; không bắt buộc
Trình tự các lệnh Powershell sẽ được áp dụng trên Windows sau khi áp dụng các bản vá. Nếu bạn không đặt thuộc tính này, patch_cmds sẽ được thực thi trên Windows và buộc phải có tệp nhị phân Bash. |
patch_tool |
Chuỗi; không bắt buộc
Tiện ích patch(1) nên sử dụng. Nếu bạn chỉ định điều này, Bazel sẽ sử dụng công cụ vá được chỉ định thay vì triển khai bản vá gốc Bazel. |
patches |
Danh sách nhãn; không bắt buộc
Danh sách các tệp sẽ được áp dụng dưới dạng bản vá sau khi giải nén tệp lưu trữ. Theo mặc định, công cụ này sử dụng phương thức triển khai bản vá gốc Bazel không hỗ trợ tính năng so khớp mờ và bản vá nhị phân, nhưng Bazel sẽ quay lại sử dụng công cụ dòng lệnh bản vá nếu thuộc tính `patch_tool` được chỉ định hoặc có các đối số khác ngoài `-p` trong thuộc tính `patch_args`. |
recursive_init_submodules |
Boolean; không bắt buộc
Liệu có sao chép các mô-đun con theo cách đệ quy trong kho lưu trữ hay không. |
remote |
Chuỗi; bắt buộc
URI của kho lưu trữ Git từ xa |
shallow_since |
Chuỗi; không bắt buộc
ngày không bắt buộc, không phải sau lệnh xác nhận được chỉ định; không cho phép đối số nếu một thẻ hoặc nhánh được chỉ định (luôn có thể được sao chép bằng --depth=1). Việc đặt ngày như vậy gần với cam kết được chỉ định có thể cho phép sao chép kho lưu trữ ở chế độ nông ngay cả khi máy chủ không hỗ trợ tìm nạp nông các cam kết tuỳ ý. Do các lỗi trong quá trình triển khai --shallow-since của git, bạn không nên sử dụng thuộc tính này vì có thể dẫn đến lỗi tìm nạp. |
strip_prefix |
Chuỗi; không bắt buộc
Tiền tố thư mục để xóa khỏi các tệp đã giải nén. |
tag |
Chuỗi; không bắt buộc
thẻ trong kho lưu trữ từ xa để kiểm tra. Bạn phải chỉ định chính xác một trong số các nhánh, thẻ hoặc cam kết. |
verbose |
Boolean; không bắt buộc |
workspace_file |
Nhãn; không bắt buộc
Tệp dùng làm tệp "WORKSPACE" cho kho lưu trữ này. Bạn có thể chỉ định "workspace_file" hoặc "workspace_file_content", hoặc không chỉ định cả hai, nhưng không được chỉ định cả hai. |
workspace_file_content |
Chuỗi; không bắt buộc
Nội dung của tệp WORKSPACE cho kho lưu trữ này. Bạn có thể chỉ định "workspace_file" hoặc "workspace_file_content", hoặc không chỉ định cả hai, nhưng không được chỉ định cả hai. |
new_git_repository
new_git_repository(name, branch, build_file, build_file_content, commit, init_submodules, patch_args, patch_cmds, patch_cmds_win, patch_tool, patches, recursive_init_submodules, remote, shallow_since, strip_prefix, tag, verbose, workspace_file, workspace_file_content)
Sao chép kho lưu trữ git bên ngoài.
Sao chép kho lưu trữ Git, kiểm tra thẻ được chỉ định hoặc cam kết và cung cấp các mục tiêu của kho lưu trữ đó để liên kết. Ngoài ra, hãy xác định mã của cam kết đã thực sự được kiểm tra và ngày của cam kết, đồng thời trả về một lệnh với các tham số cung cấp phiên bản có thể tái tạo của quy tắc này (không nhất thiết là một thẻ).
Trước tiên, Bazel sẽ cố gắng thực hiện một lượt tìm nạp nông chỉ của thay đổi đã chỉ định. Nếu không thành công (thường là do thiếu tính năng hỗ trợ máy chủ), thì quá trình này sẽ quay lại phương thức tìm nạp toàn bộ kho lưu trữ.
Thuộc tính
name |
Tên; bắt buộc
Tên riêng biệt cho kho lưu trữ này. |
branch |
Chuỗi; không bắt buộc
trong kho lưu trữ từ xa để kiểm tra. Bạn phải chỉ định chính xác một trong các nhánh, thẻ hoặc thay đổi. |
build_file |
Nhãn; không bắt buộc
Tệp để sử dụng làm tệp BUILD cho kho lưu trữ này.Thuộc tính này là nhãn tuyệt đối (sử dụng '@//' cho kho lưu trữ chính). Tệp này không cần phải có tên là BUILD, nhưng có thể là (tên như BUILD.new-repo-name có thể phù hợp để phân biệt tệp này với các tệp BUILD thực tế của kho lưu trữ. Bạn phải chỉ định build_file hoặc build_file_content. |
build_file_content |
Chuỗi; không bắt buộc
Nội dung của tệp BUILD cho kho lưu trữ này. Bạn phải chỉ định tệp build_file hoặc build_file_content. |
commit |
Chuỗi; không bắt buộc
cam kết cụ thể được kiểm tra. Bạn phải chỉ định chính xác một trong các nhánh, thẻ hoặc thay đổi. |
init_submodules |
Boolean; không bắt buộc
Liệu có sao chép các mô-đun con trong kho lưu trữ hay không. |
patch_args |
Danh sách chuỗi; không bắt buộc
Các đối số được cung cấp cho công cụ vá. Mặc định là -p0, tuy nhiên, -p1 thường sẽ cần thiết cho các bản vá được git tạo. Nếu bạn chỉ định nhiều đối số -p, thì đối số cuối cùng sẽ có hiệu lực.Nếu các đối số khác không phải -p được chỉ định, Bazel sẽ quay lại sử dụng công cụ dòng lệnh vá thay vì triển khai bản vá gốc Bazel. Khi quay lại công cụ dòng lệnh vá và không chỉ định thuộc tính patch_tool, hệ thống sẽ sử dụng "patch". |
patch_cmds |
Danh sách các chuỗi; không bắt buộc
Trình tự các lệnh Bash sẽ được áp dụng trên Linux/Macos sau khi áp dụng các bản vá. |
patch_cmds_win |
Danh sách chuỗi; không bắt buộc
Trình tự các lệnh Powershell sẽ được áp dụng trên Windows sau khi áp dụng các bản vá. Nếu bạn không đặt thuộc tính này, patch_cmds sẽ được thực thi trên Windows và buộc phải có tệp nhị phân Bash. |
patch_tool |
Chuỗi; không bắt buộc
Tiện ích patch(1) nên sử dụng. Nếu bạn chỉ định điều này, Bazel sẽ sử dụng công cụ vá được chỉ định thay vì triển khai bản vá gốc Bazel. |
patches |
Danh sách nhãn; không bắt buộc
Danh sách các tệp sẽ được áp dụng dưới dạng bản vá sau khi giải nén tệp lưu trữ. Theo mặc định, công cụ này sử dụng phương thức triển khai bản vá gốc Bazel không hỗ trợ tính năng so khớp mờ và bản vá nhị phân, nhưng Bazel sẽ quay lại sử dụng công cụ dòng lệnh bản vá nếu thuộc tính `patch_tool` được chỉ định hoặc có các đối số khác ngoài `-p` trong thuộc tính `patch_args`. |
recursive_init_submodules |
Boolean; không bắt buộc
Liệu có sao chép các mô-đun con theo cách đệ quy trong kho lưu trữ hay không. |
remote |
Chuỗi; bắt buộc
URI của kho lưu trữ Git từ xa |
shallow_since |
Chuỗi; không bắt buộc
ngày không bắt buộc, không phải sau lệnh xác nhận được chỉ định; không cho phép đối số nếu một thẻ hoặc nhánh được chỉ định (luôn có thể được sao chép bằng --depth=1). Việc đặt ngày như vậy gần với cam kết được chỉ định có thể cho phép sao chép kho lưu trữ ở chế độ nông ngay cả khi máy chủ không hỗ trợ tìm nạp nông các cam kết tuỳ ý. Do các lỗi trong quá trình triển khai --shallow-since của git, bạn không nên sử dụng thuộc tính này vì có thể dẫn đến lỗi tìm nạp. |
strip_prefix |
Chuỗi; không bắt buộc
Tiền tố thư mục để xóa khỏi các tệp đã giải nén. |
tag |
Chuỗi; không bắt buộc
thẻ trong kho lưu trữ từ xa để kiểm tra. Bạn phải chỉ định chính xác một trong số các nhánh, thẻ hoặc cam kết. |
verbose |
Boolean; không bắt buộc |
workspace_file |
Nhãn; không bắt buộc
Tệp này để sử dụng làm tệp "WORKSPACE" cho kho lưu trữ này. Bạn có thể chỉ định "workspace_file" hoặc "workspace_file_content" hoặc không chỉ định, nhưng không thể chỉ định cả hai. |
workspace_file_content |
Chuỗi; không bắt buộc
Nội dung của tệp WORKSPACE cho kho lưu trữ này. Bạn có thể chỉ định "workspace_file" hoặc "workspace_file_content", hoặc không chỉ định cả hai, nhưng không được chỉ định cả hai. |