I have a builder which consists of steps A, B, and C; and a second builder which consists of steps U, V, and W: How can I 'block' step U until steps A and B are finished? So basically I want that steps C and U run parallel to each other.
My first idea was to introduce two interlocks, a and b: step A demands lock a, step B demands lock b, and step U demands a and b at the same time.
But in this situation the execution order is A->U->B, and not A->B->U as I want it to be. The reason: steps are greedy for locks. Step U is blocked because of lock a, but despite that it requires lock b. And this blocks step B until step U is finished.