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

Reply via email to