import Ġjava . util .* Ċ Ċ plugins Ġ{ ĊĠ Ġ` kotlin - dsl ` Ċ } Ċ Ċ val Ġcheck Build Configuration Ġby Ġtasks . register ing Ġ{ ĊĠ Ġdo Last Ġ{ ĊĠĠĠ Ġval Ġbuild Src Properties Ġ= Ġlayout . project Directory . file (" gradle . properties "). as File ĊĠĠĠ Ġval Ġroot Project Properties Ġ= Ġlayout . project Directory . file ("../ gradle . properties "). as File ĊĊĠĠĠ Ġif Ġ( root Project Properties . isFile Ġ|| Ġbuild Src Properties . isFile ) Ġ{ ĊĠĠĠĠĠ Ġassert Compatible ( build Src Properties , Ġroot Project Properties ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ fun Ġassert Compatible ( ĊĠ Ġbuild Src Properties : ĠFile , ĊĠ Ġroot Project Properties : ĠFile Ċ ) Ġ{ ĊĊĠ Ġval Ġj vm Args Ġ= ĠlistOf ( ĊĠĠĠ Ġread Properties ( build Src Properties ), ĊĠĠĠ Ġread Properties ( root Project Properties ) ĊĠ Ġ). map Ġ{ ĊĠĠĠ Ġit . getProperty (" org . gradle . jvm args ") ĊĠ Ġ}. toSet () ĊĊĠ Ġif Ġ( jvm Args . size Ġ> Ġ 1 ) Ġ{ ĊĠĠĠ Ġthrow ĠGradle Exception ( ĊĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠ Ġ${ root Project Properties . path } Ġand Ġ${ build Src Properties . path } Ġhave Ġdifferent ĊĠĠĠĠĠĠĠĠĠ Ġorg . gradle . jvm args , Ġwhich Ġmay Ġcause Ġtwo Ġda em ons Ġto Ġbe Ġspawn ed Ġon ĠCI Ġand Ġin ĠIDEA . ĊĊĠĠĠĠĠĠĠĠĠ ĠUse Ġthe Ġsame Ġorg . gradle . jvm args Ġfor Ġboth Ġbuilds . ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠ Ġ) ĊĠ Ġ} Ċ } Ċ Ċ fun Ġread Properties ( properties File : ĠFile ) Ġ= ĠProperties (). apply Ġ{ ĊĠ Ġwhen Ġ{ ĊĠĠĠ Ġproperties File . isFile Ġ-> Ġ{ ĊĠĠĠĠĠ Ġproperties File . inputStream (). use Ġ{ Ġfis Ġ-> Ġload ( fis ) Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠ ĠProperties () ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ tasks . with Type < Java Compile >(). configure Each Ġ{ ĊĠ Ġoptions . release . set ( 8 ) Ċ } Ċ Ċ tasks . with Type < org . jetbrains . kotlin . gradle . tasks . Kotlin Compile >(). configure Each Ġ{ ĊĠ Ġkotlin Options Ġ{ ĊĠĠĠ Ġj vm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠ Ġall Warnings As Errors Ġ= Ġtrue ĊĠ Ġ} Ċ } Ċ Ċ tasks . check Ġ{ ĊĠ Ġdepends On ( check Build Configuration ) Ċ } Ċ Ċ dependencies Ġ{ ĊĠ Ġ// ĠThe Ġ 1 . 0 Ġversion Ġof Ġidea - ext Ġrequires ĠIntelliJ ĠIDEA Ġâī ¥ Ġ 2 0 2 0 . 3 ĊĠ Ġimplementation (" gradle . plugin . org . jetbrains . gradle . plugin . idea - ext : gradle - idea - ext : 1 . 1 . 3 ") ĊĠ Ġimplementation (" com . diff plug . spot less - changelog : spot less - changelog - plugin - gradle : 2 . 4 . 0 ") Ċ } Ċ