twitter/commons — pull request #58 by benjyw (2012-08-03 20:11:06+00:00)
Title: Better scala flat-mode support in pants.

Having flat mode builds all write to the same place allows Zinc to
do invalidation when we switch targets. E.g., if building B->A and later
C->A, we won't have to recompile A. Before this change B->A and C->A
were seen by pants as two completely independent builds.

This change also adds a workdir parameter for ScalaCompile, so that
foursquare's plugin compilation can have its own output dir.

This change also makes it so that listing all pants goals doesn't
require holding the lock.