summaryrefslogtreecommitdiff
path: root/gradlePlugin/src
AgeCommit message (Collapse)Author
2015-07-15Use aar to release base adapters.Yigit Boyar
This CL updates android gradle dependency to 1.3.0-beta4 which brings support for provided aar dependencies. Taking advantage of it, now base adapters release an AAR instead of a Jar w/o any hacks. Bug: 22491107 Change-Id: I18fdd75de806aa507504b34a18c030ee25133b4d
2015-07-06Print encoded errors only if data binding is invoked from the IDEYigit Boyar
This CL makes Scope aware of execution environment. Now when invoked from tests or via IDE, we'll print exceptions as encoded so that we can parse them back. When user invokes from command line or any other tool, we will print human readable errors. The encoded error format may still change depending on conversations w/ Studio team. Bug: 21953001 Change-Id: I5bd3ea0cb6728e011225ee84d3e38817a2993a43
2015-06-30Introduce Scopes to track logical stack tracesYigit Boyar
This CL introduces a static class called Scope, which is used the logical processing stack for data binding. These scopes are used to generate meaningful error messages when an error is detected. Bug: 21953001 Change-Id: I5470a8c4ad94401d34a140762baae9d53c5a0402
2015-06-25Carry over location information from parser to annotation processorYigit Boyar
This CL changes LayoutParser to use Antlr which provides us the location information. This information is now serialized inside the bundle so that we can read it in the annotation processor, enabling better error logs with location information. Bug:21953001 Change-Id: If9b5cf2f87598a609ddf77235decc17098a46a6b
2015-06-16Move shared code between build and compiler to a separate projectYigit Boyar
This CL encapsulates the shared code between build time and annotation processing into a separate project. This project has no dependency on kotlin so we can easily use it in gradle plugin. Bug: 21815393 Change-Id: I9fd2e88885d06ff5423121747817ffcd056e8c74
2015-06-12Remove kotlin from gradle pluginYigit Boyar
This CL removes dependency on kotlin the gradle plugin. One step closer to integrating w/ Android plugin Bug: 21815393 Change-Id: Ida966e4bb8d92da1b8734b6b40da230fbac5c8d2
2015-06-12Export generated class list from javacYigit Boyar
Previously, gradle plugin would figure out generated class names that should be excluded from the packaging. This CL changes that behavior to export the list from java compiler so that it is consistent going forward. This CL also changes exclusion task to always exclude generated binding info class to not to leak any information about user's local. Bug: 21668472 Change-Id: Ibeed24bd854781942b4185f618a5cd1eafe706d3
2015-06-10Support data binding for fragments.George Mount
Bug 21667601 Change-Id: I636dec1bbb5567d70a996e115e6bf8322c3aa29d
2015-05-22Merge projects for an easier releaseYigit Boyar
This CL merges annotation processor, xml grammer and grammer builder into compiler project. It also adds logic to pass gradle's --debug parameter to the annotation processor so that we can grab logs when necessary. Bug: 21327802 Change-Id: I1d07002519a6b95de3cdc0891bd00f461f73e8ea
2015-05-18Configure dependencies using the pluginYigit Boyar
This CL changes gradle plugin to automatically include necessary dependencies for data binding. This way, just applying data binding to a project will be sufficient. I've also updated version to .9 to get ready for preview release Bug: 21262586 Change-Id: I12ba64915e69b383b507d155c1a16267356e059b
2015-04-28Move java-gen task to proper hookYigit Boyar
Bug: 20640611
2015-04-16Parse and strip new layout format.George Mount
API Council suggested a new layout format for layouts with bindings. Here, we parse the new format and strip it. This also brings in the ability to provide a custom class name for the binding. Change-Id: I674320d21265c1dec70d1a52285341fe4994895b
2015-04-02Change "generated" to "databinding"George Mount
2015-03-23Move to package android.databinding.George Mount
2015-03-19Support for multi module setupsYigit Boyar
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-12Downgrade to java 1.6Yigit Boyar
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-11Check API version for methods called via bindingYigit Boyar
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
2015-03-03Fix gradle pluginYigit Boyar
Change-Id: Iac2ea9ddcbf07bd390945723cb785d77c1efb7d0
2015-03-02Move expression parsing to Annotation Processing stage.George Mount
Change-Id: Ibf1e9c02856212c20300f10e4c63b96ec33b7a13
2015-02-17Removed reflection-based implementations and renamed classes.George Mount
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.
2015-02-17Move expression generation to annotation processor.George Mount
2015-02-11Allow chef to be created from bundleYigit Boyar
Change-Id: If5b00a98684803cdd46547b9a94c961fe0bbf4e3
2015-02-11Separate resource parserYigit Boyar
Change-Id: I3b5f44b48269130834d013425dbaf79fe084c855
2015-02-11Prepare ClassAnalyzer to be replaced by other implementations.George Mount
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
2015-02-03Support for layout files in multiple resource foldersYigit Boyar
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-01-27fix genereated code folderYigit Boyar
Change-Id: Ic7efa25a60efac547bf7531b4b5aed8634babb95
2015-01-26properly handle expressions which are static.Yigit Boyar
Also make bindable a runtime expression so that we can read it in the compiler Change-Id: Id8f6cdf010dde61d64a20841557c3b997916fbf9
2015-01-21Cleanup previous layout generators.Yigit Boyar
Change-Id: Ib55038fa762561ad69c3936e5731f2a27998c87f
2015-01-21WIP Moved models to Java, refactored expressions to have proper ↵Yigit Boyar
dependencies, added tests Change-Id: I863787a3ed76ecc397b677cfd110aa7aba99cb38
2014-12-16Upload plugin for new langYigit Boyar
2014-12-11cleanup personal referencesYigit Boyar
2014-12-11add copyright to project filesYigit Boyar
2014-12-11initial commitYigit Boyar