OSDN Git Service
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
George Mount [Wed, 11 Mar 2015 23:17:31 +0000 (16:17 -0700)]
Created command line method to be invoked by make.
make needs some means for copying resource files, stripping them,
and generating the intermediate java/xml files. This calls into
the same code used by the gradle plugin to do it. When aapt
work has completed, this can be removed entirely and replaced
by a simple shell script.
Change-Id: Ie6e1fda8fa27892cc74a13f1404ab064f6210270
George Mount [Wed, 18 Mar 2015 14:11:07 +0000 (07:11 -0700)]
Move common parts of AnnotationAnalyzer methods to ModelAnalyzer.
Bug
19643846
Bug
19627630
Also made it so that setter methods will auto-cast from Object
when necessary. This is useful for heterogenous map objects
where .get(id) may return an Integer or a String or a Drawable.
Change-Id: Iacfd739ea4938f38b584a8eab9193f1fd4071df1
Yigit Boyar [Fri, 13 Mar 2015 22:58:53 +0000 (15:58 -0700)]
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
George Mount [Thu, 12 Mar 2015 16:18:12 +0000 (09:18 -0700)]
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
Yigit Boyar [Fri, 13 Mar 2015 19:57:48 +0000 (12:57 -0700)]
Move configuration values into a config file
Change-Id: I7055c109cb04ae2ae375c2126c2a70fa52e85e31
Yigit Boyar [Thu, 12 Mar 2015 21:30:29 +0000 (14:30 -0700)]
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
Michal Bendowski [Thu, 12 Mar 2015 18:30:23 +0000 (18:30 +0000)]
Merge "Add a unit test to the sample project."
Michal Bendowski [Thu, 12 Mar 2015 16:34:11 +0000 (09:34 -0700)]
Add a unit test to the sample project.
Yigit Boyar [Thu, 12 Mar 2015 00:05:50 +0000 (17:05 -0700)]
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
Yigit Boyar [Wed, 4 Mar 2015 02:58:24 +0000 (18:58 -0800)]
Check API version for methods called via binding
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
George Mount [Thu, 5 Mar 2015 00:23:53 +0000 (16:23 -0800)]
Support bracket expressions for SparseArray.
Also support single-quotes for XML attributes.
George Mount [Wed, 4 Mar 2015 19:27:20 +0000 (11:27 -0800)]
Don't require IDs for most bound views.
Yigit Boyar [Wed, 4 Mar 2015 02:38:07 +0000 (18:38 -0800)]
Fix gradle plugin
Change-Id: Iac2ea9ddcbf07bd390945723cb785d77c1efb7d0
George Mount [Wed, 25 Feb 2015 22:13:10 +0000 (14:13 -0800)]
Move expression parsing to Annotation Processing stage.
Change-Id: Ibf1e9c02856212c20300f10e4c63b96ec33b7a13
George Mount [Tue, 24 Feb 2015 00:18:38 +0000 (16:18 -0800)]
Add fraction resource parameters.
George Mount [Mon, 23 Feb 2015 23:43:53 +0000 (15:43 -0800)]
Add quantity and format string easy formats.
George Mount [Fri, 20 Feb 2015 18:42:13 +0000 (10:42 -0800)]
Added support for imports in type checking.
findType did not support user-defined imports, so casting,
for example, of Foo<String> didn't recognize Foo or String.
This also will import java.lang.* by default.
George Mount [Fri, 20 Feb 2015 00:43:01 +0000 (16:43 -0800)]
Fix broken static import with alias.
Added tests to ensure they don't break again.
George Mount [Thu, 19 Feb 2015 01:20:03 +0000 (17:20 -0800)]
Support static method and field access and improve method finding.
Bug
19425630
Bug
19336295
Change-Id: I4c04db32492edfa093e94c3c15bf7799128b1e03
George Mount [Wed, 18 Feb 2015 18:19:43 +0000 (10:19 -0800)]
Support casting operation in binding expressions.
Bug
19272385
Change-Id: I5a992f4eaf6f456d21983481ab4ca01305582f36
George Mount [Wed, 18 Feb 2015 00:02:52 +0000 (16:02 -0800)]
Removed reflection-based implementations and renamed classes.
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.
George Mount [Wed, 11 Feb 2015 21:44:15 +0000 (13:44 -0800)]
Move expression generation to annotation processor.
Yigit Boyar [Wed, 11 Feb 2015 22:29:48 +0000 (14:29 -0800)]
Allow chef to be created from bundle
Change-Id: If5b00a98684803cdd46547b9a94c961fe0bbf4e3
Yigit Boyar [Tue, 10 Feb 2015 22:46:45 +0000 (14:46 -0800)]
Separate resource parser
Change-Id: I3b5f44b48269130834d013425dbaf79fe084c855
George Mount [Tue, 10 Feb 2015 19:02:48 +0000 (11:02 -0800)]
Prepare ClassAnalyzer to be replaced by other implementations.
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
Yigit Boyar [Mon, 9 Feb 2015 23:56:14 +0000 (15:56 -0800)]
Fix how we handle non-bindable fields in Observable objects
Change-Id: Ia33200a2ade3bd3ed8d3a66e1602a04111f4387a
George Mount [Fri, 6 Feb 2015 00:02:46 +0000 (16:02 -0800)]
Added support for Observable fields.
Added support for ObservableField and it primitive siblings.
Bug
19268016
Change-Id: I28322e5adc44d40013e876271e7d40010c2fe0bb
Yigit Boyar [Sat, 7 Feb 2015 01:00:07 +0000 (17:00 -0800)]
Check for final observable fields
If a field is final, we know it cannot change thus cannot include it in dependency
logic. Unfortunately, observable final fields can invalidate themselves so
we should consider them dynamic.
Bug:
19299279
Change-Id: I643377f7faea6a7b0e858ee55d22318b3fc5898e
George Mount [Fri, 6 Feb 2015 23:38:38 +0000 (15:38 -0800)]
Test now really breaks.
Bug
19286803
Yigit Boyar [Fri, 6 Feb 2015 22:43:24 +0000 (14:43 -0800)]
Fixed unit test
Change-Id: Id3f93a76868c74237841f707e82623b24a98a779
George Mount [Fri, 6 Feb 2015 21:52:57 +0000 (13:52 -0800)]
Made new breaking test.
Bug
19286803
Yigit Boyar [Fri, 6 Feb 2015 21:19:47 +0000 (13:19 -0800)]
added test for binding to a final field
Change-Id: I0945b0128c390cd6f91337359c16fd9d94735550
George Mount [Wed, 4 Feb 2015 21:15:26 +0000 (13:15 -0800)]
Made expressions prefix with "@"
George Mount [Wed, 4 Feb 2015 00:59:30 +0000 (16:59 -0800)]
Added tests for BindingAdapters
Fixed a few small bugs as well.
Change-Id: Ie50afc6be457b293ce69508452bb38ea1ab75b41
Yigit Boyar [Tue, 3 Feb 2015 00:55:54 +0000 (16:55 -0800)]
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
Yigit Boyar [Sat, 31 Jan 2015 00:58:32 +0000 (16:58 -0800)]
Support include tags as inner binders
Change-Id: I2d35c9887678a3547937ad384b9c0dc7603f4f60
George Mount [Fri, 30 Jan 2015 20:03:33 +0000 (12:03 -0800)]
Made SetterStore serialization upgradable.
Bug
19197607
George Mount [Thu, 29 Jan 2015 23:39:20 +0000 (15:39 -0800)]
Made ProcessBindable read intermediate files from class path.
Bug
19192030
George Mount [Thu, 29 Jan 2015 18:06:23 +0000 (10:06 -0800)]
Added tests for ViewBindingAdapter.
Also fixed:
Bug
19192030
George Mount [Wed, 28 Jan 2015 18:58:27 +0000 (10:58 -0800)]
Add more tests.
George Mount [Tue, 27 Jan 2015 23:23:47 +0000 (15:23 -0800)]
Moved classes from library to baseLibrary
Added tests for some classes.
Yigit Boyar [Tue, 27 Jan 2015 22:30:59 +0000 (14:30 -0800)]
fix genereated code folder
Change-Id: Ic7efa25a60efac547bf7531b4b5aed8634babb95
Yigit Boyar [Tue, 27 Jan 2015 02:30:26 +0000 (18:30 -0800)]
more integration tests
Change-Id: I275ab3b41930694acd5db3875a5b4265a19581ca
George Mount [Tue, 27 Jan 2015 18:58:49 +0000 (10:58 -0800)]
Project renaming
George Mount [Tue, 27 Jan 2015 17:18:53 +0000 (09:18 -0800)]
Lazy load classes for SetterStore.
Yigit Boyar [Tue, 27 Jan 2015 01:41:32 +0000 (01:41 +0000)]
Merge "properly handle expressions which are static."
George Mount [Tue, 27 Jan 2015 00:57:04 +0000 (16:57 -0800)]
Fixed and added test for the expression parser.
Yigit Boyar [Mon, 26 Jan 2015 19:11:46 +0000 (11:11 -0800)]
properly handle expressions which are static.
Also make bindable a runtime expression so that we can read it in the compiler
Change-Id: Id8f6cdf010dde61d64a20841557c3b997916fbf9
George Mount [Fri, 23 Jan 2015 23:02:46 +0000 (15:02 -0800)]
Add observable collections
Change-Id: I609708e2c914fa0c38695172ede23207eb1569a1
George Mount [Thu, 22 Jan 2015 00:24:43 +0000 (16:24 -0800)]
Add resource support in binding expression.
Change-Id: Iccb8c3a5856c247d8245fe97a3c37cd60bb7e758
Yigit Boyar [Thu, 22 Jan 2015 02:34:32 +0000 (18:34 -0800)]
fixed tests
Yigit Boyar [Thu, 22 Jan 2015 01:23:32 +0000 (17:23 -0800)]
Cleanup previous layout generators.
Change-Id: Ib55038fa762561ad69c3936e5731f2a27998c87f
Yigit Boyar [Fri, 9 Jan 2015 22:23:33 +0000 (14:23 -0800)]
WIP Moved models to Java, refactored expressions to have proper dependencies, added tests
Change-Id: I863787a3ed76ecc397b677cfd110aa7aba99cb38
George Mount [Tue, 20 Jan 2015 21:57:17 +0000 (13:57 -0800)]
Made non-android XML namespace uniform for setter retrieval.
George Mount [Tue, 20 Jan 2015 16:38:57 +0000 (08:38 -0800)]
Added implementations of BindingAdapters.
Added renaming attribute-to-setter and automatic Conversions.
Moved intermediate store (SetterStore) to compiler project.
Moved annotations to their own project.
George Mount [Fri, 9 Jan 2015 20:38:14 +0000 (12:38 -0800)]
Handle BindingAdapters
Yigit Boyar [Fri, 9 Jan 2015 18:43:24 +0000 (10:43 -0800)]
initial implementation for type resolution
George Mount [Thu, 8 Jan 2015 00:34:06 +0000 (16:34 -0800)]
New expression language.
George Mount [Wed, 17 Dec 2014 22:07:28 +0000 (14:07 -0800)]
Started renaming to classes and methods to match design doc.
Change-Id: I3f2809bedfdd4b856d140fb9336ae3c077d1accb
George Mount [Wed, 17 Dec 2014 21:05:42 +0000 (13:05 -0800)]
Move to android.binding.BR
George Mount [Wed, 17 Dec 2014 19:24:30 +0000 (11:24 -0800)]
Add annotation processor.
Yigit Boyar [Sat, 13 Dec 2014 02:45:04 +0000 (18:45 -0800)]
Upload plugin for new lang
George Mount [Tue, 16 Dec 2014 23:58:43 +0000 (23:58 +0000)]
Merge "Revert "Added Bindable annotation processor.""
George Mount [Tue, 16 Dec 2014 23:58:36 +0000 (23:58 +0000)]
Revert "Added Bindable annotation processor."
This reverts commit
8f98922af15026fbbcf7ad55826198c58cb2d330.
Change-Id: I3afbc70d2743a682f04ec82a45c340ebde4cb47c
George Mount [Tue, 16 Dec 2014 23:58:15 +0000 (23:58 +0000)]
Revert "Missed adding annotation processor code."
This reverts commit
6c634edac4f9af4bdeb84cdc2f47e849bfd74d86.
Change-Id: I74afc4c8a10cd276d0bb422efd37ae339e8c8d86
George Mount [Tue, 16 Dec 2014 23:25:56 +0000 (15:25 -0800)]
Missed adding annotation processor code.
George Mount [Tue, 16 Dec 2014 17:35:35 +0000 (09:35 -0800)]
Added Bindable annotation processor.
Change-Id: I17d4109f9d974d46474b9ac1fba4d303f232b097
Yigit Boyar [Sat, 13 Dec 2014 00:45:00 +0000 (16:45 -0800)]
move dependencies from maven to project
Yigit Boyar [Fri, 12 Dec 2014 23:15:25 +0000 (15:15 -0800)]
Replace maven dependencies w/ direct project references
Yigit Boyar [Fri, 12 Dec 2014 22:26:25 +0000 (14:26 -0800)]
add samples, upload gradle files
Yigit Boyar [Fri, 12 Dec 2014 01:00:47 +0000 (17:00 -0800)]
update demo app, create project gradle file
Yigit Boyar [Fri, 12 Dec 2014 00:01:02 +0000 (16:01 -0800)]
cleanup personal references
Yigit Boyar [Thu, 11 Dec 2014 23:52:25 +0000 (15:52 -0800)]
add copyright to project files
Yigit Boyar [Thu, 11 Dec 2014 23:40:13 +0000 (15:40 -0800)]
add demo app
Yigit Boyar [Thu, 11 Dec 2014 23:23:36 +0000 (15:23 -0800)]
initial commit
Qiwen Zhao [Wed, 10 Dec 2014 22:10:18 +0000 (14:10 -0800)]
Initial empty repository