I can declare that my rule creates a given file with:
zip = ctx.actions.declare_file("{}.zip".format(ctx.label.name))
However, the documentation also mentions that I can have predeclared output files but doesn't go into detail about them:
rule(
implementation = ...,
attrs = {
...
},
outputs = {
"zip": "%{name}.zip", # accessible via ctx.outputs.zip
},
)
What is the difference between predeclaring an output file vs doing it in the rule implementation and when should we use one or the other?
question from:
https://stackoverflow.com/questions/66053299/when-to-use-predeclared-outputs 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…