square/dagger — pull request #67 by cgruber (2012-10-17 20:45:33+00:00)
Title: Restructure the core code and projects

This pull request moves most of the code-generation into a separate maven project, and moves the related handling code for both generated code and reflection into separate packages.

At run-time, polymorphic dispatchers will attempt to process each act (linking, static injection, and module adapter handling) by dispatching that act to whatever handlers they've been configured with (currently hard-coded to be the Codegen version then the Reflective version in that order).

All decisions as to whether codegen or reflection or both (and in what order) are now encapsulated in (what used to be) ObjectGraph.get().

Lastly, ObjectGraph.get() is now Dagger.wire() which returns an ObjectGraph instance. (I left ObjectGraph.get() in temporarily to make this PR neutral to end-users. Not even deprecated. But we want to use get() for getInstance() and this change moves the ball.