I would like to have only the projects that have changed code or changed dependencies to build... not all projects in the build chain.
I setup a few simple code and build projects to see if I could accomplish this.
GreetingsInterface - holds interface Greetings
GreeintsImpl - class GreetingsImpl implements Greetings
Conversation - uses GreetingsImpl
If Greetings changes, then all 3 should build.
If GreetingsImpl changes, then only GreetingsImpl and Conversation should build.
But if in GreetingsImpl build configuration I say GreetingsInterface is a snapshot dependency, then if GreetingsImpl changes, Greetings will re-build.
So to only have changed projects build I need to say :
Greetings has snapshot dependency to GreetingsImpl
GreetingsImpl has snapshot dependency to Conversation
Conversation has no snapshot dependencies.
Is this correct? It seems backward. It seems like the I should be able to say
Conversation has a snapshot dependency on GreetingsImpl
GreetingsImpl has a snapshot dependency on Greetings
Greetings has no snapshot dependency
Can someone give me some clarification on this?