13 Commits

Author SHA1 Message Date
Yigit Boyar
ff5868ed69 Fix integration tests that were broken after package renaming 2015-03-25 12:47:13 -07:00
Yigit Boyar
243a1e3e18 Support for multi module setups
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
2015-03-19 12:40:00 -07:00
George Mount
230ecdbf05 Use abstract base class instead of interfaces for Binding objects.
Bug 19627511
Bug 19709604

Changed generated classes to end with "Binding" instead of "Binder"
to avoid confusion with Android Binders.

Removed DataBinder class and moved the important aspects of its
contents to ViewDataBinding.

Improved mapping of Views in included layouts. Avoid traversing
included layouts while looking for bound expressions.

Change-Id: I1f28093b0792d5428d07192f1fc458a5b4b788b2
2015-03-17 18:26:54 -07:00
Yigit Boyar
f5140a1529 Move configuration values into a config file
Change-Id: I7055c109cb04ae2ae375c2126c2a70fa52e85e31
2015-03-13 12:57:48 -07:00
Yigit Boyar
1ec5cb0729 Restructure project for test apps
This CL updates project to use a local maven repo.
(local as in near source code w/ relative path).
This is necessary to have multiple versions of the
project on the same computer also provides better
separation.

I also moved integration tests to depend on these
because we cannot build the compiler and test app at
the same project.

I've changed library plugin's jar to be a separate
upload task to avoid some build issues in TestApp
when we release a @jar and @aar with same group and
artifact ids.

This CL also adds some convenience methods to
gradle build script to run all tests, prepare maven
repo, run integration tests etc. These were needed
to do CI.

Bug: 19718690
Change-Id: I3c80e09fe7c8c2780ca00c3e9b9ba99a162531cf
2015-03-12 19:27:20 -07:00
Yigit Boyar
20af2f0c5a Downgrade to java 1.6
This CL removes java 1.7 code so that we can easily integrate
w/ Idea.

It also partially removes dependency on ModelAnalyzer for
interface generation so that we can call it from the Idea
plugin.

Change-Id: Id7616987f5660911e951ddf20dacd4f407dacbd9
2015-03-12 09:17:11 -07:00
Yigit Boyar
6bd7cd429e Support for layout files in multiple resource folders
Multiple layout files with the same name now share a common interface.
They also share all variables no matter where it is defined.
If a variable is NOT used in one of the layout files, its implementation
does not create a field BUT STILL creates the setter (to implement
the base interface).

If the same view id is used for two different types of views, return
type in the interface is android.view.View. If it is an include,
the return value is IViewDataBinder.

Change-Id: Ie3cc2bb8ec5ea48b71337e314ec588a050d714df
2015-02-03 15:54:13 -08:00
Yigit Boyar
f940533344 initial implementation for type resolution 2015-01-09 10:43:24 -08:00
Yigit Boyar
fea204447b move dependencies from maven to project 2014-12-12 16:45:00 -08:00
Yigit Boyar
090e1db8cc Replace maven dependencies w/ direct project references 2014-12-12 15:15:25 -08:00
Yigit Boyar
be0624b368 cleanup personal references 2014-12-11 16:01:02 -08:00
Yigit Boyar
a76e6fa812 add copyright to project files 2014-12-11 15:52:25 -08:00
Yigit Boyar
32a8409ae8 initial commit 2014-12-11 15:23:36 -08:00