/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 7 ĠJetBrains Ġs . r . 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 . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin x . serialization . idea Ċ Ċ import Ġorg . jetbrains . kotlin . cli . common . arguments . Common Compiler Arguments Ċ import Ġorg . jetbrains . kotlin . idea . facet . Kotlin Facet Ċ import Ġorg . jetbrains . kotlin . utils . Path Util Ċ import Ġjava . io . File Ċ Ċ internal Ġobject ĠKotlin Serialization Import Handler Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval Ġplugin J ps Jar Name Ġ= Ġ" kotlin x - serialization - compiler - plugin . jar " ĊĊĠĠĠ Ġval ĠP LU GIN _ J PS _ JAR : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠFile ( Path Util . kotlin Paths For Ide a Plugin . lib Path , Ġplugin J ps Jar Name ). absolute Path ĊĊĠĠĠ Ġfun Ġis Plugin Jar Path ( path : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġpath . endsWith ( plugin J ps Jar Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmodify Compiler Arguments ( facet : ĠKotlin Facet , Ġbuild System Plugin Jar : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfacet Settings Ġ= Ġfacet . configuration . settings ĊĠĠĠĠĠĠĠ Ġval Ġcommon Arguments Ġ= Ġfacet Settings . compiler Arguments Ġ?: ĠCommon Compiler Arguments . Dummy Impl () ĊĊĠĠĠĠĠĠĠ Ġvar Ġplugin Was Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġold Plugin Class paths Ġ= Ġ( common Arguments . plugin Class paths Ġ?: Ġempty Array ()). filter To ( mutable ListOf ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlast IndexOf File Ġ= Ġit . lastIndexOf Any ( char ArrayOf ('/', ĠFile . separator Char )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( lastIndexOf File Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ filter To Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmatch Ġ= Ġit . drop ( lastIndexOf File Ġ+ Ġ 1 ). matches ("$ build System Plugin Jar - .* \\. jar ". to Regex ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( match ) Ġplugin Was Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! match ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġnew Plugin Class paths Ġ= Ġif Ġ( plugin Was Enabled ) Ġold Plugin Class paths Ġ+ ĠP LU GIN _ J PS _ JAR Ġelse Ġold Plugin Class paths ĊĠĠĠĠĠĠĠ Ġcommon Arguments . plugin Class paths Ġ= Ġnew Plugin Class paths . to Typed Array () ĊĠĠĠĠĠĠĠ Ġfacet Settings . compiler Arguments Ġ= Ġcommon Arguments ĊĠĠĠ Ġ} Ċ }