/* - Ċ Ġ* Ġ#% L Ċ Ġ* Ġk tl int - maven - plugin Ċ Ġ* Ġ%% Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 8 ĠG ant Sign ĠLtd . Ċ Ġ* Ġ%% Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ċ Ġ* Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN Ċ Ġ* ĠTHE ĠSOFTWARE . Ċ Ġ* Ġ# L % Ċ Ġ*/ Ċ package Ġcom . github . g ant sign . maven . plugin . kt lint Ċ Ċ import Ġcom . github . g ant sign . maven . plugin . kt lint . internal . Check Ċ import Ġcom . github . g ant sign . maven . plugin . kt lint . internal . Sources Ċ import Ġcom . p interest . kt lint . reporter . plain . internal . Color Ċ import Ġjava . nio . charset . Charset Ċ import Ġjava . nio . charset . StandardCharsets . UTF _ 8 Ċ import Ġorg . apache . maven . plugins . annotations . Lifecycle Phase Ċ import Ġorg . apache . maven . plugins . annotations . Mojo Ċ import Ġorg . apache . maven . plugins . annotations . Parameter Ċ import Ġorg . apache . maven . plugins . annotations . Resolution Scope Ċ Ċ /** Ċ Ġ* ĠChecks Ġfor Ġviolations Ġof Ġthe Ġcode Ġstyle . Ċ Ġ*/ Ċ @ Mojo ( ĊĠĠĠ Ġname Ġ= Ġ" check ", ĊĠĠĠ Ġdefault Phase Ġ= ĠLifecycle Phase . VERIFY , ĊĠĠĠ Ġrequires Dependency Resolution Ġ= ĠResolution Scope . TEST , ĊĠĠĠ Ġrequires Dependency Collection Ġ= ĠResolution Scope . TEST , ĊĠĠĠ Ġrequires Project Ġ= Ġtrue , ĊĠĠĠ Ġthread Safe Ġ= Ġtrue Ċ ) Ċ class ĠCheck Mojo Ġ: ĠAbstract Base Mojo () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġset Ġof Ġreport ers Ġto Ġoutput Ġthe Ġresults Ġto . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Parameter ĊĠĠĠ Ġprivate Ġvar Ġreport ers : ĠSet < Reporter Config >? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWhether Ġthe ĠK t Lint Ġreporter Ġshould Ġoutput Ġin Ġcolor Ġ( does n 't Ġaffect Ġthe ĠMaven Ġoutput ). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Parameter ĊĠĠĠ Ġprivate Ġvar Ġreporter Color : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġcolor Ġthe ĠK t Lint Ġreporter Ġshould Ġoutput Ġin Ġ( does n 't Ġaffect Ġthe ĠMaven Ġoutput ). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Parameter ĊĠĠĠ Ġprivate Ġvar Ġreporter Color Name : ĠString Ġ= ĠColor . DARK _ GRAY . name ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠShow Ġerror Ġcodes . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Parameter ( property Ġ= Ġ" kt lint . verbose ", ĠdefaultValue Ġ= Ġ" false ", Ġrequired Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġvar Ġverbose : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWhether Ġto Ġfail Ġthe Ġbuild Ġif Ġthe Ġlinter Ġfinds Ġviolations Ġof Ġthe Ġcode Ġstyle . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Parameter ( property Ġ= Ġ" kt lint . fail On Violation ", ĠdefaultValue Ġ= Ġ" true ", Ġrequired Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġvar Ġfail On Violation : ĠBoolean Ġ= Ġtrue ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSk ips Ġand Ġcode Ġstyle Ġchecks . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Parameter ( property Ġ= Ġ" kt lint . skip ", ĠdefaultValue Ġ= Ġ" false ", Ġrequired Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġvar Ġskip : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġexecute () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( skip ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠCheck ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Ġ= Ġlog , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase dir Ġ= Ġbase dir , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodule Pack aging Ġ= Ġpackaging , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsources Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠS ources ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Included Ġ= Ġinclude Sources , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Roots Ġ= Ġsource Roots , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġincludes Ġ= Ġsources Includes , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexclude s Ġ= Ġsources Exclude s ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠS ources ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Included Ġ= Ġinclude Test Sources , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Roots Ġ= Ġtest Source Roots , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġincludes Ġ= Ġtest Sources Includes , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexclude s Ġ= Ġtest Sources Exclude s ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠS ources ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Included Ġ= Ġinclude Scripts , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Roots Ġ= Ġscript Roots , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġincludes Ġ= Ġscripts Includes , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexclude s Ġ= Ġscripts Exclude s ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcharset Ġ= Ġencoding ?. trim ()?. take Unless ( String :: isEmpty ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ ĠCharset . forName ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠUTF _ 8 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Ġ= Ġandroid , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreporter Config Ġ= Ġreport ers Ġ?: Ġempty Set (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverbose Ġ= Ġverbose , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreporter Color Ġ= Ġreporter Color , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreporter Color Name Ġ= Ġreporter Color Name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Experimental Rules Ġ= Ġexperimental , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail On Violation Ġ= Ġfail On Violation ĊĠĠĠĠĠĠĠ Ġ) () ĊĠĠĠ Ġ} Ċ } Ċ