이 객체는 실행 단계에서 읽거나 쓸 파일 또는 디렉터리를 나타내기 위해 분석 단계에서 생성됩니다. 열린 파일 핸들이 아니므로 파일 콘텐츠를 직접 읽거나 쓰는 데 사용할 수 없습니다. 대신 이 메서드를 사용하여 작업 생성 함수에 전달하여 규칙 구현 함수에서 작업 그래프를 구성합니다. 자세한 내용은 규칙 페이지를 참고하세요.
File
이 map_each
함수를 사용하지 않고 Args
객체에 전달되면 path
필드의 값을 사용하여 문자열로 변환됩니다.
회원
basename
string File.basename이 파일의 기본 이름입니다. 디렉터리 안에 있는 파일의 이름입니다.
dirname
string File.dirname이 파일이 포함된 디렉터리의 이름입니다. 경로에서 가져오며 항상 실행 디렉터리에 상대적입니다.
확장 프로그램
string File.extension가장 오른쪽 마침표 다음에 오는 이 파일의 파일 확장자입니다. 파일의 기본 이름에 마침표가 포함되지 않은 경우 빈 문자열입니다.
is_directory
bool File.is_directory디렉터리인 경우 true를 반환합니다.
is_source
bool File.is_source소스 파일인 경우, 즉 생성되지 않은 경우 true를 반환합니다.
소유자
Label File.owner이 파일을 생성하는 타겟의 라벨입니다.
None
을 반환할 수 있습니다.
경로
string File.path작업공간의 실행 디렉터리를 기준으로 이 파일의 실행 경로입니다. 두 부분으로 구성됩니다. 선택사항인 첫 번째 부분은 root(root 모듈 참고)라고 하며, 두 번째 부분은
short_path
입니다. 루트는 비어 있을 수 있으며, 이는 일반적으로 생성되지 않은 파일의 경우 그렇습니다. 생성된 파일의 경우 일반적으로 해당 파일을 빌드하는 동안 사용된 대상 CPU 아키텍처 등을 인코딩하는 구성별 경로 프래그먼트가 포함됩니다. 파일이 바이너리의 실행 파일에 있는 경우 파일이 매핑되는 경로로 short_path
를 사용합니다.
루트
root File.root이 파일이 있는 루트입니다.
short_path
string File.short_path이 파일의 루트를 기준으로 한 경로입니다. 여기에는 앞서 언급한 루트(경로의 구성별 프래그먼트)는 포함되지 않습니다. 이는 바이너리의 runfiles에 있는 경우 파일이 매핑되는 경로이기도 합니다.
tree_relative_path
string File.tree_relative_path조상의 is_directory 필드가 true인 경우 조상 트리의 루트를 기준으로 이 파일의 경로입니다.
tree_relative_path
는 작업 명령어(예: Args.add_all())의 디렉터리 확장 파일에만 사용할 수 있습니다. 다른 유형의 파일의 경우 이 필드에 액세스하면 오류가 발생합니다.