2017-04-26 84 views
0

我想創建一個規則(也許一個已經存在?),在bazel構建步驟中取消tar文件。作爲bazel的構建步驟,

如果我理解正確,在「分析階段」期間需要知道所有輸出文件。爲了解決這個問題,我有一個文件叫做manifest.txt,它列出了tar文件中的所有文件。但是,我不太明白我如何將這個文件作爲我的雲雀規則的列表輸出來讀取?有沒有簡單的方法來讀取文件,並讓每行都是生成的輸出?

謝謝。

+0

嗨,這是清單文件之前生成或生成本身? –

回答

0

這隻有在清單文件是源文件時纔有可能,即它不是由構建中的某些規則生成的。

規則必須在不依賴生成文件內容的情況下聲明其所有輸出,因此不支持創建例如基於由另一個規則生成的清單文件計算outs的genrule。

要處理tar文件輸入,規則需要用操作解壓縮tar,並最終生成可預測的輸出量(即與tar中有多少文件無關)。通常這是通過重新包裝輸出來完成的,也就是說,規則會消耗一個焦油併產生另一個焦油。