2017-04-26 3 views
0

바젤 빌드 단계에서 파일을 언 타르 (un-tar)하기 위해 규칙을 만들려고합니다 (아마도 하나는 이미 존재합니까?).바젤에서 빌드 단계로 실행 취소합니다.

"분석 단계"중에 모든 출력 파일을 알아야합니다. 이 문제를 해결하려면 파일을 가지고 manifest.txt라고 부르면 tar 파일의 모든 파일을 나열합니다. 그러나 나는이 파일을 내 skylark 규칙에 대한 목록 출력으로 읽는 방법을 잘 모르고있다. 파일을 읽고 각 행을 생성 된 출력으로 만드는 쉬운 방법이 있습니까?

감사합니다.

+0

안녕하세요, 미리 생성 된 자체 매니페스트 파일입니까? –

답변

0

이것은 매니페스트 파일이 소스 파일, 즉 빌드의 일부 규칙에 의해 생성되지 않은 경우에만 가능합니다.

규칙은 생성 된 파일의 내용에 의존하지 않고 모든 출력을 선언해야하므로 예를 들어 outs이 다른 규칙에 의해 생성 된 매니페스트 파일을 기반으로 계산되는 genrule을 만드는 것은 지원되지 않습니다.

tar 파일 입력을 사용하려면 규칙에서 작업으로 tar의 압축을 풀어야하고 궁극적으로 예측 가능한 양의 출력을 생성해야합니다 (즉, tar에있는 파일 수에 관계 없음). 일반적으로 이것은 출력을 재 포장하여 수행됩니다. 즉, 규칙은 하나의 타르를 소비하고 다른 타르를 생성합니다.

관련 문제