package Ġorg . jetbrains . research . kt g lean Ċ Ċ import Ġcom . google . auto . service . Auto Service Ċ import Ġorg . jetbrains . kotlin . compiler . plugin .* Ċ import Ġorg . jetbrains . kotlin . config . Compiler Configuration Ċ Ċ @ Auto Service ( CommandLine Processor :: class ) Ċ class ĠK t G lean CommandLine Processor Ġ: ĠCommandLine Processor Ġ{ ĊĠĠĠ Ġoverride Ġval Ġplugin Id : ĠString Ġ= Ġplugin ID ĊĊĠĠĠ Ġoverride Ġval Ġplugin Options : ĠCollection < Cli Option > Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠCli Option ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoption Name Ġ= Ġoutput Directory CLI Key , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Description Ġ= Ġ" Path ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Path Ġto Ġoutput Ġdirectory Ġfor Ġresulting ĠJSON Ġfiles " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġprocess Option ( ĊĠĠĠĠĠĠĠ Ġoption : ĠAbstract Cli Option , ĊĠĠĠĠĠĠĠ Ġvalue : ĠString , ĊĠĠĠĠĠĠĠ Ġconfiguration : ĠCompiler Configuration ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( option . option Name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Directory CLI Key Ġ-> Ġconfiguration . put ( Kt G lean Component Registrar . OUTPUT _ DIRECTORY _ KEY , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġerror (" Unexpected Ġconfig Ġoption Ġ${ option . option Name }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ