On 5/7/22 10:33, Jochen Becher wrote:
Am Mittwoch, dem 22.09.2021 um 10:45 +0200 schrieb Christian Kandeler:
On 9/9/21 1:25 PM, Jochen Becher wrote:
thank you for the prompt answer. Adding explicit dependency on
"installable" works. But adding the input dependency on application
does not:
The rule uses
inputs: [ "alang"]
to depend on the alang source code files. When I add additionally
inputsFromDependencies: [ "application" ]
it doesn't work. inputs["application"] is always undefined.
There's almost surely something wrong in one of your rules/products
then. You will probably find out what it is if you try to create a
minimal example.
Seems like inputs and inputsFromDependencies are mutual exclusive.
Definitely not, as that's exactly what e.g. the rule creating
applications has, where the inputs are object files and the inputs
from
dependencies are (import) libraries.
Long time ago, but I ran again into this issue and now found out my
problem with it:
Of course, you are right, the properties inputs and
inputsFromDependencies are not mutual exclusive.
But: I used variable "input" at one place in my prepare code. With
that, the inputs variable contains only the tags from "inputs" and not
from "inputsFromDependencies". If I only access "inputs" in prepare
code, it contains all tags.
Very unexpected behaviour (and I believe undocumented as well).
"input" is a convenience variable that should exist if and only if there
is exactly one input artifact, in which case it saves you from writing
inputs[tag][0]. The set of input artifacts considered for this decision
should include all inputs, including inputsFromDependencies. If that's
not the case, please file a bug report.
Christian
_______________________________________________
Qbs mailing list
Qbs@qt-project.org
https://lists.qt-project.org/listinfo/qbs