/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 . android . build . gradle . integration . application Ċ Ċ import Ġcom . android . build . gradle . integration . common . fixture . app . Empty Activity Project Builder Ċ import Ġcom . android . build . gradle . integration . common . utils . Test FileUtils Ċ import Ġcom . android . build . gradle . options . Boolean Option Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ Ċ /** Ċ Ġ* ĠTests Ġthat Ġthe Ġbuild Ġstill Ġsucceeds Ġwhen Ġtasks Ġare Ġconfigured Ġearly . Ġ( Even Ġthough Ġwe Ġexpect Ġtasks Ċ Ġ* Ġto Ġbe Ġconfigured Ġl az ily , Ġusers ' Ġbuild Ġscript Ġor Ġplugins Ġmay Ġcause Ġthem Ġto Ġbe Ġconfigured Ġearly , Ġas Ċ Ġ* Ġin Ġbug Ġ 1 3 9 8 2 1 7 2 8 .) Ċ Ġ*/ Ċ class ĠEarly Task Configuration Test Ġ{ ĊĊĠĠĠ Ġ@ get : Rule ĊĠĠĠ Ġvar Ġproject Ġ= ĠEmpty Activity Project Builder (). build () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` check Ġthat Ġbuild Ġsucceeds Ġwhen Ġtasks Ġare Ġconfigured Ġearly `() Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠForce Ġtasks Ġto Ġbe Ġconfigured Ġearly ĊĠĠĠĠĠĠĠ ĠTest FileUtils . append ToFile ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject . build File , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġall projects Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtasks . all Ġ{ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠRegression Ġtest Ġfor Ġbug Ġ 1 3 9 8 2 1 7 2 8 ĊĠĠĠĠĠĠĠ ĠTest FileUtils . append ToFile ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject . gradle Properties File , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ Boolean Option . ENABLE _ SEPAR ATE _ AN NOT ATION _ PROCESS ING . propertyName }= true " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCheck Ġthat Ġthe Ġbuild Ġsucceeds ĊĠĠĠĠĠĠĠ Ġproject . executor (). run (" clean ", Ġ" assemble Debug ", Ġ" test Debug UnitTest ") ĊĠĠĠ Ġ} Ċ }