Details
-
Task
-
Resolution: Unresolved
-
Not Evaluated
-
None
-
1.7.0
-
None
Description
It is a legitimate use case to have one product produce e.g. object files and link them into other products. This is currently not possible without doing a copy of these files, because the linker rule takes object files only as "inputs", not as "inputsFromDependencies".
Knee-jerk solution: Why not add object files to the other property as well? Because the same argument could be made for most rules, so in the end, the two input properties would be the same everywhere.
So it seems that the second input property is superfluous: We can just redefine "inputs" to also take target artifacts from dependencies into accout.
There are two other behavior changes necessary to achieve this:
- Revert the change that "inputsFromDependencies" takes all artifacts from the dependency, rather than just the target artifacts.
- Properly fix the underlying issue that was the reason for the behavior change referred to above, namely that source artifacts cannot be target artifacts (target artifacts need a rule chain of length > 0 at the moment).
In the unlikely event that users want to opt out of target artifacts from dependencies, that is solved as a side effect of the proposed "configurable dependencies".