This CL adds support for building multi module apps
with proper context.
For library modules, we only generate base classes in the initial
compilation. We also generate a temporary BR file which does
not have final methods.
When final app is being generated, all layout binders, adapters
and Bindable information gets merged and all final classes
are generated in their appropriate packages.
This CL also adds support for Test runs and any
number of build variants.
Bug: 19714904
Change-Id: I9b50b54db05f3fa206eec33709d43c2ac94a9e5e
In data binding, setting an attribute actually means calling a method, which might be
an issue if the method is added after a certain API.
This CL introduces a change which will check called methods per api and add necessary
API check code to avoid calling those methods in older platforms.
This CL also resurrects the Java Model Analyzer (in testing) and also fixes compiler tests.
Bug: 19593398
Change-Id: I0da4194625231cf43125e1b43338069e7d191eb9
Renamed Model* classes to Annotation*
Renamed Reflection* classes to Model*
Removed Class* classes -- they are no longer needed.
The names were confusing. I think this is better.
ClassAnalyzer uses normal reflection. We intend to move
to an Annotation Processor and possibly an Android Studio
plugin version of type interaction as well. This abstracts
the type interaction to prepare.
Change-Id: I2b95ea9074bca7e3053aeadcd3692dffe93b41d6
Added renaming attribute-to-setter and automatic Conversions.
Moved intermediate store (SetterStore) to compiler project.
Moved annotations to their own project.