quy tắc kho lưu trữ git

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 một kho lưu trữ Git, kiểm tra thẻ hoặc cam kết đã chỉ định và cung cấp các mục tiêu của kho lưu trữ đó để liên kết. Đồng thời, 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 từ điển có các tham số cung cấp phiên bản có thể tái tạo của quy tắc này (thẻ không nhất thiết phải là phiên bản có thể tái tạo).

Thuộc tính

name Tên; bắt buộc

Tên duy nhấ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 cam kết.

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 không cần phải có tên là BUILD, nhưng có thể có (ví dụ: BUILD.new-repo-name có thể hoạt động tốt để 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 cho tệp BUILD của kho lưu trữ này. Bạn phải chỉ định build_file hoặc build_file_content.

commit Chuỗi; không bắt buộc

cam kết cụ thể cần kiểm tra. Bạn phải chỉ định chính xác một trong các nhánh, thẻ hoặc cam kết.

init_submodules Boolean; không bắt buộc

Có sao chép các mô-đun con trong kho lưu trữ hay không.

patch_args Danh sách các chuỗi; không bắt buộc

Các đối số được cung cấp cho công cụ vá. Giá trị mặc định là -p0, tuy nhiên, bạn thường cần -p1 cho các bản vá do 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 bạn chỉ định các đối số khác ngoài -p, thì 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 của Bazel. Khi quay lại công cụ dòng lệnh vá và thuộc tính patch_tool không được chỉ định, `patch` sẽ được sử dụng.

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 các 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, thì patch_cmds sẽ được thực thi trên Windows. Điều này đòi hỏi phải có tệp nhị phân Bash.

patch_tool Chuỗi; không bắt buộc

Tiện ích patch(1) để sử dụng. Nếu bạn chỉ định thuộc tính này, thì Bazel sẽ sử dụng công cụ vá đã chỉ định thay vì triển khai bản vá gốc của Bazel.

patches Danh sách các 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, thuộc tính này sử dụng cách triển khai bản vá gốc của Bazel không hỗ trợ 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 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

Có sao chép các mô-đun con một 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 sau cam kết đã chỉ định; đối số này không được phép nếu bạn chỉ định một thẻ (cho phép sao chép với độ sâu là 1). Việc đặt một ngày như vậy gần với cam kết đã chỉ định cho phép sao chép kho lưu trữ ở mức độ nông hơn, giúp tiết kiệm băng thông và thời gian thực.

strip_prefix Chuỗi; không bắt buộc

Tiền tố thư mục để loại bỏ 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 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 cho tệp WORKSPACE của 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 một kho lưu trữ Git, kiểm tra thẻ hoặc cam kết đã chỉ định và cung cấp các mục tiêu của kho lưu trữ đó để liên kết. Đồng thời, 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 từ điển có các tham số cung cấp phiên bản có thể tái tạo của quy tắc này (thẻ không nhất thiết phải là phiên bản có thể tái tạo).

Thuộc tính

name Tên; bắt buộc

Tên duy nhấ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 cam kết.

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 không cần phải có tên là BUILD, nhưng có thể có (ví dụ: BUILD.new-repo-name có thể hoạt động tốt để 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 cho tệp BUILD của kho lưu trữ này. Bạn phải chỉ định build_file hoặc build_file_content.

commit Chuỗi; không bắt buộc

cam kết cụ thể cần kiểm tra. Bạn phải chỉ định chính xác một trong các nhánh, thẻ hoặc cam kết.

init_submodules Boolean; không bắt buộc

Có sao chép các mô-đun con trong kho lưu trữ hay không.

patch_args Danh sách các chuỗi; không bắt buộc

Các đối số được cung cấp cho công cụ vá. Giá trị mặc định là -p0, tuy nhiên, bạn thường cần -p1 cho các bản vá do 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 bạn chỉ định các đối số khác ngoài -p, thì 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 của Bazel. Khi quay lại công cụ dòng lệnh vá và thuộc tính patch_tool không được chỉ định, `patch` sẽ được sử dụng.

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 các 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, thì patch_cmds sẽ được thực thi trên Windows. Điều này đòi hỏi phải có tệp nhị phân Bash.

patch_tool Chuỗi; không bắt buộc

Tiện ích patch(1) để sử dụng. Nếu bạn chỉ định thuộc tính này, thì Bazel sẽ sử dụng công cụ vá đã chỉ định thay vì triển khai bản vá gốc của Bazel.

patches Danh sách các 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, thuộc tính này sử dụng cách triển khai bản vá gốc của Bazel không hỗ trợ 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 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

Có sao chép các mô-đun con một 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 sau cam kết đã chỉ định; đối số này không được phép nếu bạn chỉ định một thẻ (cho phép sao chép với độ sâu là 1). Việc đặt một ngày như vậy gần với cam kết đã chỉ định cho phép sao chép kho lưu trữ ở mức độ nông hơn, giúp tiết kiệm băng thông và thời gian thực.

strip_prefix Chuỗi; không bắt buộc

Tiền tố thư mục để loại bỏ 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 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 cho tệp WORKSPACE của 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.