• Home
  • History
  • Annotate
  • only in /frameworks/data-binding/gradlePlugin/
History log of /frameworks/data-binding/gradlePlugin/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9784c9aaedeb863018f5fcaa0a598e8e2f8ed2f3 13-Oct-2015 Yigit Boyar <yboyar@google.com> Data binding as studio dep + java6

This CL gets rid of the gradle plugin and instead provides
DataBindingBuilder for the gradle plugin to directly use.

Now, everything that is deployed via SDK Manager (lib and adapters)
are included as prebuilts so that we avoid accidently changing
them w/o an SDK manager release.

There is still work to do:
> re-enable proguard for externel dependencies
> release a batch to ensure everything works

Bug: 22516688
Change-Id: I83ace15bd6d3d23bf5b4ad850f36453dd23ebd43
uild.gradle
radle/wrapper/gradle-wrapper.jar
radle/wrapper/gradle-wrapper.properties
radlew
radlew.bat
rc/main/java/android/databinding/tool/DataBinderPlugin.java
rc/main/java/android/databinding/tool/DataBindingExportInfoTask.java
rc/main/java/android/databinding/tool/DataBindingProcessLayoutsTask.java
rc/main/resources/META-INF/gradle-plugins/com.android.databinding.properties
rc/main/resources/NOTICE.txt
bdc7aa8269502b3fc3ce73c124e4f1b2092502c9 23-Oct-2015 George Mount <mount@google.com> Use a dynamically-generated class to relax requirement to upgrade.

We may need some static methods between releases and instead of
requiring a release, we can now supply the methods as a dynamically
generated class, DynamicUtil

Change-Id: I9d53ae99b4b5717cd4780efdcb7a3f85bfac8dd9
rc/main/java/android/databinding/tool/DataBindingExcludeGeneratedTask.java
5cc6ea2e84b7c310fbb355ce76001648132a80cb 09-Oct-2015 Yigit Boyar <yboyar@google.com> Allow loading older versions

This CL adds configuration to gradlePlugin build file to
force different versions on the library and baseAdapters.
This allows us to update jcenter builds w/o needing an
SDK release.

I've not moved these to command line params because it
is prebuilt and could become inconsistent if one runs
w/ command line params and then forgets them while running
tests etc. This is a process we should only use while
making one-off patches.

Change-Id: I80bc2daf6a921a8dde03a90022873a620acafd45
uild.gradle
rc/main/java/android/databinding/tool/DataBinderPlugin.java
e23af2603f80c6d51b4f0be47d82477f6cca975d 06-Oct-2015 Yigit Boyar <yboyar@google.com> add kotlin prebuilts license

Change-Id: I10c41d5b9edc1312000b6cfbfc5b481dd72f031c
rc/main/resources/NOTICE.txt
f1081f6a15e6b905701bd3bbcb5d598731d05afb 06-Oct-2015 George Mount <mount@google.com> Fix error processing XML when german character is used.

Bug 24507894

The character set was not being properly detected for the XML
file when it was being loaded, so it was always using the default
character set. For Windows, this turned out to be something other
than UTF-8. Now, a library is used to detect the character set
before parsing.

Change-Id: I2ea041701de59f0e72fd18288b0f62cb2beb74e6
rc/main/resources/NOTICE.txt
eae7e68312d9db4c886057f631b26a37104e5e67 06-Oct-2015 Yigit Boyar <yboyar@google.com> Fix data binding for 1.4.0-beta5

Change-Id: I4a3691408b7df1727935d3e715abbeef957c1f6d
rc/main/java/android/databinding/tool/DataBinderPlugin.java
890b4850c628f04eb75397e427ba7074e4f9c386 25-Sep-2015 Yigit Boyar <yboyar@google.com> Add support for gradle 1.4.0-beta3

This CL changes how we find original xml file.
Previously, it was a comment in the XML file. Now
it is another interface we can query (nicer).
This CL adds support for it but still keeps the
XML reference support.

Bug: 24408701
Change-Id: I0ac91b2f81f7264735f11d4ded154a2fd807e776
rc/main/java/android/databinding/tool/DataBinderPlugin.java
rc/main/java/android/databinding/tool/DataBindingProcessLayoutsTask.java
5d454e5f2397a3b160f081ce123b4ca7ff0fc356 19-Sep-2015 Yigit Boyar <yboyar@google.com> Upgrada kotlin to m13

Change-Id: Iec30be0e153f7354d4909970be4292fcf11988bf
rc/main/resources/NOTICE.txt
2573102ac98a69ff9a804496cb8947031ad4c229 11-Sep-2015 Yigit Boyar <yboyar@google.com> Fix local builds

This CL fixes local builds where some deps were not
downloaded but they were coming from maven (by mistake).

Bug: 24000910
Change-Id: Id188b30a6ac94c14e382dcedab1906bfb7a7e4f0
rc/main/resources/NOTICE.txt
69cbd9e8fab49e38adc1a28b6616e17c5f8338c2 26-Aug-2015 George Mount <mount@google.com> Fat jars and jarjars

Release versions of the gradle plugin and annotation processor
now contain all of their dependencies, repackaged.

Change-Id: I93fba3eed150aafa8a88d439103b90d270e71cdf
uild.gradle
rc/main/resources/NOTICE.txt
9c95c40e44e4ed885ad4266485853db2aee033c2 16-Jul-2015 Yigit Boyar <yboyar@google.com> Use aar to release base adapters.

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
rc/main/java/android/databinding/tool/DataBinderPlugin.java
24bec1cc542de69e0e21cc774469f20d34811ad9 09-Jul-2015 Yigit Boyar <yboyar@google.com> Localize Maven

This CL introduces a new development plugin that downloads all
dependencies into the given repository. This will allow us to
build data binding in build servers w/o internet connection.

By default, it is setup to disable public repositories to avoid
adding a new dependency w/o running the script.
Public repositories can be added by running -PaddRemoteRepos=true.
There is also a convenience script to fetch dependencies.
localize.sh

Bug: 19626302
Change-Id: I9d200550b76c3b60119cdbbdb4e1e7772d0da1d7
uild.gradle
63d478953393b1a2ea3b68d298b1d5fc64542e7b 10-Jul-2015 Yigit Boyar <yboyar@google.com> Set version to rc1 and also update kotlin version

This CL also adds a bintray plugin to easily upload artifacts to bintray.
The plugin is a separate project (because main project depends on it) so
I've committed it as a prebuilt since it is unlikely to change.

Change-Id: I801b334e40bfb49a18bf7190e5100e0910a606a2
uild.gradle
08119ea342cb47910ca80ff646d746f00e4663ce 06-Jul-2015 Yigit Boyar <yboyar@google.com> Print encoded errors only if data binding is invoked from the IDE

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
rc/main/java/android/databinding/tool/DataBinderPlugin.java
rc/main/java/android/databinding/tool/DataBindingExcludeGeneratedTask.java
rc/main/java/android/databinding/tool/DataBindingExportInfoTask.java
rc/main/java/android/databinding/tool/DataBindingProcessLayoutsTask.java
731b74f7f44e67312a1fc4161c4e0aae221b2417 25-Jun-2015 Yigit Boyar <yboyar@google.com> Introduce Scopes to track logical stack traces

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
rc/main/java/android/databinding/tool/DataBinderPlugin.java
c1560e6b00b398867da12fbdc5a1fcd1d50b801c 25-Jun-2015 Yigit Boyar <yboyar@google.com> Carry over location information from parser to annotation processor

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
rc/main/java/android/databinding/tool/DataBinderPlugin.java
0cb9fbb96197af013f4f879ed6cddf2681b88fd6 16-Jun-2015 Yigit Boyar <yboyar@google.com> Move shared code between build and compiler to a separate project

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
uild.gradle
rc/main/java/android/databinding/tool/DataBinderPlugin.java
rc/main/java/android/databinding/tool/DataBindingExportInfoTask.java
40d0967b36f0bd77393719f0442626c838697290 13-Jun-2015 Yigit Boyar <yboyar@google.com> Remove kotlin from gradle plugin

This CL removes dependency on kotlin the gradle plugin.
One step closer to integrating w/ Android plugin

Bug: 21815393
Change-Id: Ida966e4bb8d92da1b8734b6b40da230fbac5c8d2
uild.gradle
rc/main/java/android/databinding/tool/DataBinderPlugin.java
rc/main/java/android/databinding/tool/DataBindingExportInfoTask.java
rc/main/java/android/databinding/tool/DataBindingProcessLayoutsTask.java
rc/main/kotlin/DataBindingExportInfoTask.kt
rc/main/kotlin/DataBindingProcessLayoutsTask.kt
rc/main/kotlin/plugin.kt
b6887f1479c3ecec38a7989748ef33de1fbcd973 12-Jun-2015 Yigit Boyar <yboyar@google.com> Export generated class list from javac

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
uild.gradle
rc/main/java/android/databinding/tool/DataBindingExcludeGeneratedTask.java
rc/main/kotlin/DataBindingExportInfoTask.kt
rc/main/kotlin/DataBindingProcessLayoutsTask.kt
rc/main/kotlin/plugin.kt
4d4979490e1fa374c0d7f3599fed0a9e83a579d0 08-Jun-2015 George Mount <mount@google.com> Support data binding for fragments.

Bug 21667601

Change-Id: I636dec1bbb5567d70a996e115e6bf8322c3aa29d
rc/main/kotlin/DataBindingProcessLayoutsTask.kt
rc/main/kotlin/plugin.kt
b1356339eaa6c8e967e4fc1dc283b82909a1208d 22-May-2015 Yigit Boyar <yboyar@google.com> Merge projects for an easier release

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
uild.gradle
rc/main/kotlin/DataBindingExportInfoTask.kt
rc/main/kotlin/DataBindingProcessLayoutsTask.kt
rc/main/kotlin/plugin.kt
9399cb4e3d86a88507fb06ad57661105b1eaa69a 17-May-2015 Yigit Boyar <yboyar@google.com> Configure dependencies using the plugin

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
uild.gradle
rc/main/kotlin/plugin.kt
be83770af82294c1841eef414513653646b88dc6 29-Apr-2015 Yigit Boyar <yboyar@google.com> Move java-gen task to proper hook

Bug: 20640611
rc/main/kotlin/DataBindingExportInfoTask.kt
rc/main/kotlin/DataBindingProcessLayoutsTask.kt
rc/main/kotlin/plugin.kt
3b8fedce6e9ee814ffe7b63d07aa5456f08fb9b2 15-Apr-2015 George Mount <mount@google.com> Parse and strip new layout format.

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
rc/main/kotlin/plugin.kt
2e2043d30f95585de2069e1cbb23e022ab0e71c4 02-Apr-2015 George Mount <mount@google.com> Change "generated" to "databinding"
rc/main/kotlin/plugin.kt
fead9ca09b117136b35bc5bf137340a754f9eddd 23-Mar-2015 George Mount <mount@google.com> Move to package android.databinding.
rc/main/kotlin/DataBindingProcessLayoutsTask.kt
rc/main/kotlin/plugin.kt
rc/main/resources/META-INF/gradle-plugins/com.android.databinding.properties
a6e4583962e19e8e93b4ca3f9fe3d34560b6d96c 13-Mar-2015 Yigit Boyar <yboyar@google.com> 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
rc/main/kotlin/DataBindingProcessLayoutsTask.kt
rc/main/kotlin/plugin.kt
e421e29d1e20d73fb1275ec0d916e4c6ad8a3893 13-Mar-2015 Yigit Boyar <yboyar@google.com> Move configuration values into a config file

Change-Id: I7055c109cb04ae2ae375c2126c2a70fa52e85e31
uild.gradle
f9e51c010bd2eab9cca01baaccc0e5a73b8b72c9 12-Mar-2015 Yigit Boyar <yboyar@google.com> 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
uild.gradle
895b618d9c6e3deb56465d0759cda57f50c46214 12-Mar-2015 Yigit Boyar <yboyar@google.com> 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
uild.gradle
rc/main/kotlin/DataBindingProcessLayoutsTask.kt
rc/main/kotlin/plugin.kt
97d6ddf47f4ff1abb3ed5201ce5232163f5325b1 04-Mar-2015 Yigit Boyar <yboyar@google.com> 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
rc/main/kotlin/plugin.kt
8a865791a0f786c351c286b8e71565fb2b050e55 04-Mar-2015 Yigit Boyar <yboyar@google.com> Fix gradle plugin

Change-Id: Iac2ea9ddcbf07bd390945723cb785d77c1efb7d0
rc/main/kotlin/plugin.kt
8e5d3b4aa4e47fc0150b4a26b58ec6e5c17b9d16 25-Feb-2015 George Mount <mount@google.com> Move expression parsing to Annotation Processing stage.

Change-Id: Ibf1e9c02856212c20300f10e4c63b96ec33b7a13
rc/main/kotlin/plugin.kt
79fc7f3727815ab35bb1bb2e060bfb7db3176eed 18-Feb-2015 George Mount <mount@google.com> 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.
rc/main/kotlin/plugin.kt
1b9940e612fc73202837fbe9db2f9035f307b5d1 11-Feb-2015 George Mount <mount@google.com> Move expression generation to annotation processor.
uild.gradle
rc/main/kotlin/plugin.kt
b134dd773c386246ee8b692fbc4f063945e88ec5 11-Feb-2015 Yigit Boyar <yboyar@google.com> Allow chef to be created from bundle

Change-Id: If5b00a98684803cdd46547b9a94c961fe0bbf4e3
rc/main/kotlin/plugin.kt
3bd87eef217d80a233677d7e267224d0ed3c2c55 10-Feb-2015 Yigit Boyar <yboyar@google.com> Separate resource parser

Change-Id: I3b5f44b48269130834d013425dbaf79fe084c855
rc/main/kotlin/plugin.kt
e6c6d3bf4fac3fa11c5780cfd3bc14cdb0caaea1 10-Feb-2015 George Mount <mount@google.com> 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
rc/main/kotlin/plugin.kt
5bf3700759ff21696becadd4e6fcfe2c0db6cb83 03-Feb-2015 Yigit Boyar <yboyar@google.com> 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
uild.gradle
rc/main/resources/META-INF/gradle-plugins/com.android.databinding.properties
1a28b8d8b7eb202664324d86f5c760085429aded 27-Jan-2015 Yigit Boyar <yboyar@google.com> fix genereated code folder

Change-Id: Ic7efa25a60efac547bf7531b4b5aed8634babb95
rc/main/kotlin/plugin.kt
dc69f49d687ec036947f26a9bf9025a305de0721 26-Jan-2015 Yigit Boyar <yboyar@google.com> properly handle expressions which are static.

Also make bindable a runtime expression so that we can read it in the compiler

Change-Id: Id8f6cdf010dde61d64a20841557c3b997916fbf9
rc/main/kotlin/plugin.kt
43596c2b2997e40b709627419732100d78a62ff0 22-Jan-2015 Yigit Boyar <yboyar@google.com> Cleanup previous layout generators.

Change-Id: Ib55038fa762561ad69c3936e5731f2a27998c87f
rc/main/kotlin/plugin.kt
d7af42b29ddf22f0068f7496c5ac6f4f34b543b6 09-Jan-2015 Yigit Boyar <yboyar@google.com> WIP Moved models to Java, refactored expressions to have proper dependencies, added tests

Change-Id: I863787a3ed76ecc397b677cfd110aa7aba99cb38
rc/main/kotlin/plugin.kt
8ffce57a6056a34c9568ef1893d6e36ce80f2245 13-Dec-2014 Yigit Boyar <yboyar@google.com> Upload plugin for new lang
rc/main/kotlin/plugin.kt
840f0ce0645ecc28a528d2c73efa25532d721d20 13-Dec-2014 Yigit Boyar <yboyar@google.com> move dependencies from maven to project
uild.gradle
84145342f9acc0c4ef932c75dac242ea85b57766 13-Dec-2014 Yigit Boyar <yboyar@google.com> Replace maven dependencies w/ direct project references
uild.gradle
eb1062abaed1314c71cf80584fe8bcb8b2a6ba53 12-Dec-2014 Yigit Boyar <yboyar@google.com> add samples, upload gradle files
radle/wrapper/gradle-wrapper.jar
radle/wrapper/gradle-wrapper.properties
radlew
radlew.bat
2d5a37e735e7b281498fc0dfedc7e476ca724b89 12-Dec-2014 Yigit Boyar <yboyar@google.com> cleanup personal references
rc/main/kotlin/plugin.kt
3d4bdfeeb2ffd1b2ec8a26abd1f4306295a66a43 12-Dec-2014 Yigit Boyar <yboyar@google.com> add copyright to project files
uild.gradle
rc/main/kotlin/plugin.kt
085724fd84795ae1631747443c43f77c08e11a28 12-Dec-2014 Yigit Boyar <yboyar@google.com> initial commit
uild.gradle
rc/main/kotlin/plugin.kt