/* Ċ Ġ* ĠĠĠ ĠCopyright Ġ 2 0 2 0 ĠC rite o Ċ Ġ* Ċ Ġ* ĠĠĠ Ġ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 . Ċ Ġ*/ Ċ Ċ build script Ġ{ ĊĠ Ġadd Default Input Repository () ĊĊĠ Ġdependencies Ġ{ ĊĠĠĠ Ġclasspath ( Deps . J aco co . Core ) ĊĠĠĠ Ġclasspath ( Deps . Android . Gradle Plugin ) ĊĠĠĠ Ġclasspath ( Deps . Kotlin . Gradle Plugin ) ĊĠĠĠ Ġclasspath ( Deps . Kotlin . All Open Plugin ) ĊĠ Ġ} Ċ } Ċ Ċ plugins Ġ{ ĊĠ Ġid (" org . sonar q ube ") Ġversion Ġ" 3 . 0 " ĊĠ Ġid (" io . github . gradle - nexus . publish - plugin ") Ċ } Ċ Ċ all projects Ġ{ ĊĠ Ġadd Default Input Repository () Ċ } Ċ Ċ group Ġ= ĠDep s . C rite o . Publisher Sdk . group Ċ add Son atype Output Repository () Ċ Ċ sonar q ube Ġ{ ĊĠ Ġproperties Ġ{ ĊĠĠĠ Ġproperty (" sonar . project Key ", Ġ" com . c rite o . publisher : c rite o - publisher - sdk ") ĊĠĠĠ Ġproperty (" sonar . organization ", Ġ" c rite o ") ĊĠĠĠ Ġproperty (" sonar . host . url ", Ġ" https :// sonar cloud . io ") ĊĠĠĠ Ġproperty (" sonar . project Version ", Ġsdk Publication Version ()) ĊĊĠĠĠ Ġ// ĠThere Ġis Ġno Ġdependency Ġin Ġthe ĠGradle Ġgraph Ġhere . ĠOne Ġshould Ġfirst Ġgenerate Ġquality ĊĠĠĠ Ġ// Ġreports Ġbefore Ġinvoking Ġthe Ġson ar q ube Ġtask . ĠIn Ġthis Ġway , Ġthe ĠCI Ġcan Ġrun ĠJVM Ġand ĊĠĠĠ Ġ// ĠAndroid Ġtests Ġin Ġparallel , Ġand Ġwhen Ġboth Ġare Ġfinished , ĠCI Ġwould Ġinvoke Ġthis Ġtask . ĊĊĠĠĠ Ġval Ġj aco co Reports Ġ= ĊĠĠĠĠĠĠĠ Ġall Sub Projects Reports (" reports / jac oco /**/*. xml ") Ġ+ Ġ// ĠReports Ġfrom ĠJVM Ġtests ĊĠĠĠĠĠĠĠĠĠĠĠ Ġall Sub Projects Reports (" reports / coverage /**/*. xml ") Ġ// ĠReports Ġfrom ĠAndroid Ġtests ĊĠĠĠ Ġproperty (" sonar . coverage . jac oco . xml Report Paths ", Ġj aco co Reports ) ĊĊĠĠĠ Ġ// ĠWe Ġdo Ġnot Ġexpect Ġto Ġcover Ġthe Ġtest Ġapp Ġnor Ġthe Ġdummy Ġactivities Ġfor ĠAndroid Ġtests ĊĠĠĠ Ġproperty ( ĊĠĠĠĠĠĠĠ Ġ" sonar . coverage . ex clusions ", ĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" app / src / main /** /* ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" publisher - sdk - tests / src / main /** /* ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" test - utils / src / main /** /* " Ġ// ĠFIXME ĠEE - 1 3 7 0 Ġhandle Ġcoverage Ġof Ġtest - utils Ġfrom Ġthe ĠSDK Ġtests ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġjunit Report Files Ġ= Ġall Sub Projects Reports (" **/ TEST - *. xml ") Ġ+ Ġ// ĠNormal Ġtests ĊĠĠĠĠĠĠĠ Ġall Sub Projects Reports (" test - results / g ord on /*. xml ") Ġ// ĠRet ried Ġtests Ġ( G ord on Ġrunner ) ĊĠĠĠ Ġval Ġjunit Report Dirs Ġ= Ġjunit Report Files . map NotNull Ġ{ Ġit . parent File Ġ}. toSet () ĊĠĠĠ Ġ// ĠFIXME ĠEE - 1 3 3 5 ĠReact ivate Ġand Ġfix Ġdeclaration Ġof ĠJ Unit Ġreports Ġto ĠSon ar ĊĠĠĠ Ġ// Ġproperty (" sonar . junit . report Paths ", Ġjunit Report Dirs ) ĊĊĠĠĠ Ġval Ġlint Reports Ġ= Ġall Sub Projects Reports (" reports / lint - results . xml ") ĊĠĠĠ Ġproperty (" sonar . android Lint . report Paths ", Ġlint Reports ) ĊĊĠĠĠ Ġval Ġde te kt Reports Ġ= Ġall Sub Projects Reports (" reports / de te kt /*. xml ") ĊĠĠĠ Ġproperty (" sonar . kotlin . de te kt . report Paths ", Ġde te kt Reports ) ĊĠ Ġ} Ċ } Ċ Ċ fun ĠProject . all Sub Projects Reports ( glob Path : ĠString ): ĠSet < File > Ġ{ ĊĠ Ġreturn Ġsub projects . flatMap Ġ{ ĊĠĠĠ Ġval Ġreport Tree Ġ= Ġit . file Tree ( it . build Dir ) ĊĠĠĠ Ġreport Tree . include ( glob Path ) ĊĠĠĠ Ġreport Tree . files ĊĠ Ġ}. toSet () Ċ } Ċ