build script Ġ{ ĊĠ Ġproject . apply Ġ{ ĊĠĠĠ Ġfrom ( root Project . file (" gradle / dependencies . gradle ")) ĊĠ Ġ} ĊĊĠ Ġrepositories Ġ{ ĊĠĠĠ Ġmaven Ġ{ Ġurl Ġ= Ġuri (" https :// plugins . gradle . org / m 2 /") Ġ} ĊĠĠĠ Ġgoogle () ĊĠĠĠ Ġj center () ĊĠ Ġ} ĊĊĠ Ġdependencies Ġ{ ĊĠĠĠ Ġclasspath ( groovy . util . Eval . x ( project , Ġ" x . dep . android . plugin ")) ĊĠĠĠ Ġclasspath ( groovy . util . Eval . x ( project , Ġ" x . dep . gradle Error pr one Plugin ")) ĊĠĠĠ Ġclasspath ( groovy . util . Eval . x ( project , Ġ" x . dep . gradle J api Cmp Plugin ")) ĊĠĠĠ Ġclasspath ( groovy . util . Eval . x ( project , Ġ" x . dep . kotlin . plugin ")) ĊĠ Ġ} Ċ } Ċ Ċ fun Ġbaseline Jar ( project : ĠProject , Ġversion : ĠString ): ĠFile Ġ{ ĊĠ Ġval Ġgroup Ġ= Ġproject . property (" GROUP ") ĊĠ Ġval Ġartifact Id Ġ= Ġproject . property (" PO M _ AR TI FACT _ ID ") ĊĠ Ġtry Ġ{ ĊĠĠĠ Ġval Ġjar File Ġ= Ġ"$ artifactId -${ version }. jar " ĊĠĠĠ Ġproject . group Ġ= Ġ" virtual _ group _ for _ j ap icmp " Ġ// ĠPrevent Ġit Ġfrom Ġresolving Ġthe Ġcurrent Ġversion . ĊĠĠĠ Ġ// Ġsee Ġhttps :// github . com / ap ol log raph ql / apollo - android / issues / 1 3 2 5 ĊĠĠĠ Ġproject . repositories . maven (" https :// dl . bin tray . com / ap ol log raph ql / android ") ĊĠĠĠ Ġval Ġdependency Ġ= Ġproject . dependencies . create ("$ group :$ artifactId :$ version @ jar ") ĊĠĠĠ Ġreturn Ġproject . configurations . det ached Configuration ( dependency ). files ĊĠĠĠĠĠĠĠ Ġ. first Ġ{ Ġ( it . name Ġ== Ġjar File ) Ġ} ĊĠ Ġ} Ġfinally Ġ{ ĊĠĠĠ Ġproject . group Ġ= Ġgroup !! ĊĠ Ġ} Ċ } Ċ Ċ val Ġroot J api Cmp Ġ= Ġtasks . register (" j ap icmp ") Ċ Ċ sub projects Ġ{ ĊĠ Ġapply Ġ{ ĊĠĠĠ Ġfrom ( root Project . file (" gradle / dependencies . gradle ")) ĊĠ Ġ} ĊĊĠ Ġbuild script Ġ{ ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠ Ġmaven Ġ{ Ġurl Ġ= Ġuri (" https :// plugins . gradle . org / m 2 /") Ġ} ĊĠĠĠĠĠ Ġmaven Ġ{ Ġurl Ġ= Ġuri (" https :// oss . son atype . org / content / repositories / snapshots ") Ġ} ĊĠĠĠĠĠ Ġgoogle () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠ Ġclasspath ( groovy . util . Eval . x ( project , Ġ" x . dep . bin tray Gradle Plugin ")) ĊĠĠĠĠĠ Ġclasspath ( groovy . util . Eval . x ( project , Ġ" x . dep . kotlin . plugin ")) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġrepositories Ġ{ ĊĠĠĠ Ġmaven Ġ{ Ġurl Ġ= Ġuri (" https :// plugins . gradle . org / m 2 /") Ġ} ĊĠĠĠ Ġmaven Ġ{ Ġurl Ġ= Ġuri (" https :// oss . son atype . org / content / repositories / snapshots ") Ġ} ĊĠĠĠ Ġgoogle () ĊĠĠĠ Ġmaven Ġ{ Ġurl Ġ= Ġuri (" https :// jit pack . io ") Ġ} ĊĠ Ġ} ĊĊĠ Ġapply ( plugin Ġ= Ġ" net . lt gt . error pr one ") ĊĊĠ Ġconfigurations . named (" error pr one ") Ġ{ ĊĠĠĠ Ġresolution Strategy . force ( groovy . util . Eval . x ( this @ sub projects , Ġ" x . dep . error Pr one Core ")) ĊĠ Ġ} ĊĊĠ Ġ// ĠTODO : ĠMake Ġthis Ġlazy ĊĠ Ġthis @ sub projects . after Evaluate Ġ{ ĊĠĠĠ Ġval Ġjar Task Ġ= Ġthis @ sub projects . tasks . find ByName (" jar ") Ġas ? Ġorg . gradle . jvm . tasks . Jar ĊĠĠĠ Ġif Ġ( jar Task Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġval Ġj api Cmp Ġ= Ġthis @ sub projects . tasks . register (" j ap icmp ", Ġme . champ e au . gradle . j ap icmp . J ap icmp Task :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠ Ġold Classpath Ġ= Ġthis @ sub projects . files ( baseline Jar ( this @ sub projects , Ġ" 1 . 2 . 1 ")) ĊĠĠĠĠĠĠĠ Ġnew Classpath Ġ= Ġthis @ sub projects . files ( jar Task . archive File ) ĊĠĠĠĠĠĠĠ Ġignore Missing Classes Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġpackage Exclude s Ġ= ĠlistOf (" *. internal * ") ĊĠĠĠĠĠĠĠ Ġonly Modified Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġtxt OutputFile Ġ= Ġthis @ sub projects . file ("$ build Dir / reports / j api . txt ") ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġroot J api Cmp . configure Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( j api Cmp ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġgroup Ġ= Ġproperty (" GROUP ") !! ĊĠ Ġversion Ġ= Ġproperty (" VERSION _ NAME ") !! ĊĊĠ Ġif Ġ( project . name Ġ!= Ġ" apollo - gradle - plugin ") Ġ{ ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" check style ") ĊĊĠĠĠ Ġextensions . findBy Type ( Check style Extension :: class . java ) !!. apply Ġ{ ĊĠĠĠĠĠ Ġconfig File Ġ= Ġroot Project . file (" check style . xml ") ĊĠĠĠĠĠ Ġconfig Properties Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠ Ġ" check style . cache . file " Ġto Ġroot Project . file (" build / check style . cache ") ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtasks . register (" check style ", ĠCheck style :: class . java ) Ġ{ ĊĠĠĠĠĠ Ġsource (" src / main / java ") ĊĠĠĠĠĠ Ġinclude (" ** /*. java ") ĊĠĠĠĠĠ Ġclasspath Ġ= Ġfiles () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtasks . with Type < Java Compile >(). configure Each Ġ{ ĊĠĠĠĠĠ Ġoptions . compiler Args . add ("- X ep Disable Warnings In GeneratedCode ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġafter Evaluate Ġ{ ĊĠĠĠĠĠ Ġtasks . find ByName (" check ") ?. depends On (" check style ") ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĠ Ġtasks . with Type < Test >(). configure Each Ġ{ ĊĠĠĠ Ġsystem Property (" update Test Fixtures ", ĠSystem . getProperty (" update Test Fixtures ")) ĊĠ Ġ} Ċ } Ċ