Status: Closed (View Workflow)
Platform: All, OS: All
1. We use the multi-configuration project to build our "Framework" and test it
on multiple nodes.
2. Then we have dependent projects, let say "Connectors", which are free-style
software project and they have to run on explicit target platform. For this
purpose, those project has set "tie this project to a node".
The Connectors are dependent on Framework on each node. Note, that the nodes are
usually different from the master. This is important, because the lose
dependency problem is just for free-style projects running on slave nodes, when
the "tie this project to a node" is specified to a slave node.
Framework(matrix)<all-nodes> -> Connector(free-style)<node>
We can set up all dependent projects from the top to down by setting up "Build
other projects" on multi-configuration project (Framework).
We can not set the (Connector) a free-style project to be dependent on Framework
using "Build after other projects are built", because doing so it does not fail
with error nether it is set. Those tries are silently ignored.
The Worst from my perspective is, when correctly configured from top to down
that any configuration change on dependent project (Connector) forced loosing of
the dependency on (Framework).
This is very harmful for maintain the solution consistency, because one can
easily forget to double check the dependency between Framework and Connector
still exist. You can imagine, that the real needs require more dependencies then
just a Framework -> Connector
It seems to me, that some exception when updating dependency of the
multi-configuration project and free style project is silently ignored and the
result is that the dependency is lost.
JENKINS-3607 Matrix project loses upstream when config saved
Issue 3607 has a good explanation that was posted recently. It would explain
this behavior as well.