Java cyclic class dependencies

When clearmake detects a new .class dependency cycle, it marks the targets as being part of a target group.

After clearmake forms a target group for a cyclic class dependency, the existing .class DOs from the new target group cannot be used in the view because the build script for those DOs has changed. The build script difference causes the next clearmake invocation to rebuild all three DOs.