[QBS] Rule generating lots of files
Christian Kandeler
christian.kandeler at theqtcompany.com
Wed Aug 26 18:07:22 CEST 2015
On 08/26/2015 05:24 PM, Stephan Gatzka wrote:
> My problem is, that I can't specify wildcards in the outputArtifacts
> property, so currently I only see to specify every single file by hand
> in outputArtifacts, which is rather tedious and in addition might change
> because depending from the inputs.
>
> Is there a clever way to achieve this? A workaround might be to generate
> a list of C files in the prepare script and hand over that list to
> outputArtifacts?
The outputArtifacts script is called first, and the prepare script gets
its information about what the outputs are from there.
For the case where the Rule cannot know in advance which outputs will be
generated (e.g. because that depends on the contents of input files
and/or the logic to derive the file paths would duplicate lots of code
from the tool to run), there are the following approaches:
a) Ideally, the tool provides some sort of "dry run" mode where it
only generates the information about which files it would create.
You would call the tool in that mode in the outputArtifacts
script.
b) You call the tool twice. The first run happens in the
outputArtifacts script and is only used to find out which
files were generated. Can be tolerable if running the tool is
cheap.
c) If b) is too expensive, you can cheat and do the actual work
in the outputArtifacts script, making the prepare script
a no-op. I think Jake Petroules has worked on a somwhat cleaner
version of this approach recently: he might want to chime in
here.
Christian
More information about the Qbs
mailing list