다음 함수는 @bazel_tools//tools/build_defs/repo:utils.bzl
에서 로드할 수 있습니다.
가져온 후 외부 저장소를 조작하는 유틸리티입니다.
설정
이러한 유틸리티는 다른 저장소 규칙에서 사용하기 위한 것입니다. 다음과 같이 로드할 수 있습니다.
load(
"@bazel_tools//tools/build_defs/repo:utils.bzl",
"workspace_and_buildfile",
"patch",
"update_attrs",
)
download_remote_files
download_remote_files(ctx, auth)
원격 파일을 다운로드하기 위한 유틸리티 기능입니다.
이 규칙은 저장소 규칙의 구현 함수에 사용하기 위한 것입니다. 매개변수 remote_file_urls
및 remote_file_integrity
가 ctx.attr
에 있다고 가정합니다.
매개변수
ctx |
점을 기억하실 것입니다
여기에는
이 유틸리티 함수를 호출하는 저장소 규칙의 저장소 컨텍스트입니다. |
auth |
선택사항입니다. 기본값은 None 입니다.
일부 URL의 인증 정보를 지정하는 선택적 사전입니다. |
get_auth
get_auth(ctx, urls)
.netrc 파일에서 URL 목록에 대한 올바른 인증 사전을 가져오는 유틸리티 함수입니다.
가능한 경우 선택적 netrc 및 auth_patterns 속성을 지원합니다.
매개변수
ctx |
점을 기억하실 것입니다
여기에는
이 유틸리티 함수를 호출하는 저장소 규칙의 저장소 컨텍스트입니다. |
urls |
점을 기억하실 것입니다
여기에는
읽을 URL 목록 |
반환 값
repository_ctx.download에 전달할 수 있는 인증 사전
maybe
maybe(repo_rule, name, kwargs)
저장소가 아직 없는 경우에만 추가하는 유틸리티 함수입니다.
이는 https://bazel.build/rules/deploying#dependencies에 설명된 안전한 repositories.bzl 매크로를 구현하기 위한 것입니다.
매개변수
repo_rule |
점을 기억하실 것입니다
여기에는
저장소 규칙 함수 |
name |
점을 기억하실 것입니다
여기에는
만들 저장소의 이름입니다. |
kwargs |
선택사항입니다.
repo_rule 함수에 전달되는 나머지 인수입니다. |
반환 값
아무것도 없습니다. 필요한 경우 저장소를 부작용으로 정의합니다.
parse_netrc
parse_netrc(contents, filename)
기본 .netrc 파일을 파싱하는 유틸리티 함수입니다.
매개변수
contents |
점을 기억하실 것입니다
여기에는
파서의 입력입니다. |
filename |
선택사항입니다. 기본값은 None 입니다.
오류 메시지에 사용할 파일 이름입니다(있는 경우). |
반환 값
제공된 정보를 사용하여 머신 이름을 dict에 매핑하는 dict
patch
patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)
이미 추출된 저장소 패치 구현
이 규칙은 저장소 규칙의 구현 함수에서 사용하기 위한 것입니다. 매개변수 patches
, patch_tool
, patch_args
, patch_cmds
, patch_cmds_win
가 지정되지 않은 경우 ctx.attr
에서 가져옵니다.
매개변수
ctx |
점을 기억하실 것입니다
여기에는
이 유틸리티 함수를 호출하는 저장소 규칙의 저장소 컨텍스트입니다. |
patches |
선택사항입니다. 기본값은 None 입니다.
적용할 패치 파일입니다. 문자열, 라벨 또는 경로 목록 |
patch_cmds |
선택사항입니다. 기본값은 None 입니다.
패치를 위해 실행할 Bash 명령어로 bash -c에 한 번에 하나씩 전달됩니다. 문자열 목록 |
patch_cmds_win |
선택사항입니다. 기본값은 None 입니다.
패치를 위해 실행할 PowerShell 명령어로, powershell /c에 하나씩 전달됩니다. 문자열 목록. 이 매개변수의 불리언 값이 false이면 patch_cmds가 사용되고 이 매개변수는 무시됩니다. |
patch_tool |
선택사항입니다. 기본값은 None 입니다.
패치를 적용하기 위해 실행할 패치 도구의 경로입니다. 문자열. |
patch_args |
선택사항입니다. 기본값은 None 입니다.
패치 도구에 전달할 인수입니다. 문자열 목록. |
auth |
선택사항입니다. 기본값은 None 입니다.
일부 URL의 인증 정보를 지정하는 선택적 사전입니다. |
read_netrc
read_netrc(ctx, filename)
기본 .netrc 파일을 파싱하는 유틸리티 함수입니다.
매개변수
ctx |
점을 기억하실 것입니다
여기에는
이 유틸리티 함수를 호출하는 저장소 규칙의 저장소 컨텍스트입니다. |
filename |
점을 기억하실 것입니다
여기에는
읽을 .netrc 파일의 이름 |
반환 값
머신 이름을 머신에 관한 정보가 제공된 사전으로 매핑하는 사전
read_user_netrc
read_user_netrc(ctx)
사용자의 기본 netrc 파일을 읽습니다.
매개변수
ctx |
점을 기억하실 것입니다
여기에는
이 유틸리티 함수를 호출하는 저장소 규칙의 저장소 컨텍스트입니다. |
반환 값
머신 이름을 제공된 정보가 포함된 사전으로 매핑하는 사전입니다.
update_attrs
update_attrs(orig, keys, override)
지정된 속성을 변경하고 특정 저장소 규칙 호출에 추가하는 유틸리티 함수입니다.
이는 규칙을 재현 가능하게 만드는 데 사용됩니다.
매개변수
orig |
점을 기억하실 것입니다
여기에는
특정 규칙 호출에 의해 실제로 설정된 속성 (명시적 또는 암시적)의 사전 |
keys |
점을 기억하실 것입니다
여기에는
이 규칙에 정의된 전체 속성 집합 |
override |
점을 기억하실 것입니다
여기에는
재정의하거나 원본에 추가할 속성의 사전 |
반환 값
재정의의 키가 삽입/업데이트된 속성의 사전
use_netrc
use_netrc(netrc, urls, patterns)
파싱된 netrc 파일과 URL 목록에서 인증 사전을 계산합니다.
매개변수
netrc |
점을 기억하실 것입니다
여기에는
이미 사전으로 파싱된 netrc 파일(예: read_netrc에서 가져온 경우) |
urls |
점을 기억하실 것입니다
여기에는
URL 목록입니다. |
patterns |
점을 기억하실 것입니다
여기에는
URL과 승인 패턴 간의 선택적 사전 |
반환 값
ctx.download의 auth 인수로 적합한 사전입니다. 더 정확하게는 사전은 netrc 파일이 로그인 및 비밀번호를 제공하는 모든 URL을 상응하는 로그인, 비밀번호, 선택적 인증 패턴이 포함된 사전과 'type'의 'basic' 또는 'pattern' 매핑에 매핑합니다.
workspace_and_buildfile
workspace_and_buildfile(ctx)
WORKSPACE와 BUILD 파일(요청된 경우)을 작성하기 위한 유틸리티 함수입니다.
이 규칙은 저장소 규칙의 구현 함수에서 사용하기 위한 것입니다.
name
, build_file
, build_file_content
, workspace_file
, workspace_file_content
매개변수가 ctx.attr
에 있다고 가정합니다. 후자의 네 개는 값이 None일 수 있습니다.
매개변수
ctx |
점을 기억하실 것입니다
여기에는
이 유틸리티 함수를 호출하는 저장소 규칙의 저장소 컨텍스트입니다. |