enyo/iris — pull request #6 by ovangle (2014-09-14 13:21:44+00:00)
Title: feat: Refactor builder to use dartanalyzer

Some notes:

- I've left error code processing alone for the moment -- it's more important to move onto other things.
- The builder is a bit slow, 99% of this is because it takes the analyzer package *ages* to parse and compile a library from a cold start. This should get better if the gigantic `services` library is split up into smaller libraries.
- I've tried to refactor things in a way that preserves existing code structure, but enables greater extensibility. There are minimal changes that need to be made to the existing server to get things running, but there is a lot of scope to improve upon API structure, so everything doesn't need to be in the same directory.
- This can't be published to pub yet. I'll have to publish a new version of the protoc_builder library, but that requires getting some changes merged upstream first.

The only breaking change I've had to make outside the builder is:
- The `@IrisService` annotation is now mandatory and requires a `declaredIn` argument (also renamed from `@Service` to `@IrisService` because namespaces).