/* Ċ Ġ* ĠCopyright Ġ 2 0 1 5 ĠJ ake ĠWh art on Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . b eno it qu ena ud on . r xd atab ind ing . project Ċ Ċ import Ġcom . android . build . gradle . Library Extension Ċ import Ġorg . gradle . api . Plugin Ċ import Ġorg . gradle . api . Project Ċ Ċ class ĠRx Data Binding Plugin Ġ: ĠPlugin < Project > Ġ{ ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġval ĠINCLUDE _ PATTERN Ġ= Ġ" **/ Rx *. java " ĊĠĠĠ Ġprivate Ġval ĠEX CL UDE _ PATTERN Ġ= Ġ" **/ internal /* " ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġapply ( project : ĠProject ) Ġ{ ĊĠĠĠ Ġproject . after Evaluate Ġ{ ĊĊĠĠĠĠĠ Ġ// ĠGrab Ġthe Ġrelease Ġvariant ĊĠĠĠĠĠ Ġ// ĠConvenience Ġapproach Ġso Ġthat Ġwe Ġcan Ġgrab Ġthe Ġsource Ġsets Ġoff Ġof Ġit ĊĊĠĠĠĠĠ Ġval Ġvariants Ġ= Ġproject . extensions . getBy Type ( Library Extension :: class . java ). library Variants ĊĠĠĠĠĠ Ġval Ġvariant Ġ= Ġvariants . first Ġ{ Ġit . name Ġ== Ġ" release " Ġ} ĊĠĠĠĠĠ Ġval Ġvariant Java Sources Ġ= Ġvariant . source Sets . map Ġ{ Ġit . java Directories Ġ} ĊĊĠĠĠĠĠ Ġ// ĠTask Ġfor Ġvalidating ĠRx *. java Ġfactory Ġmethod Ġstructures ĊĠĠĠĠĠ Ġval Ġvalidate Bindings Task ĊĠĠĠĠĠĠĠĠĠ Ġ= Ġproject . tasks . create (" validate Bindings ", ĠValidate Bindings Task :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġsource ( variant Java Sources ) ĊĠĠĠĠĠĠĠ Ġinclude ( INCLUDE _ PATTERN ) ĊĠĠĠĠĠĠĠ Ġexclude ( EXCL UDE _ PATTERN ) ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġproject . tasks . find ByName (" check "). depends On ( validate Bindings Task ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ