@ file : Jvm Name (" Bundle Command _ Jvm ") Ċ Ċ package Ġapplication Ċ Ċ import Ġ` in `. spec matic . core . log . Heading Log Ċ import Ġ` in `. spec matic . core . log . Verbose Ċ import Ġ` in `. spec matic . core . log . logger Ċ import Ġ` in `. spec matic . core . parse G her kin StringTo Feature Ċ import Ġ` in `. spec matic . core . utilities . exit With Message Ċ import Ġio . swagger . util . Yaml Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġpic oc li . CommandLine Ċ import Ġjava . io . File Ċ import Ġjava . util . concurrent . Callable Ċ Ċ @ CommandLine . Command ( name Ġ= Ġ" to - openapi ", ĊĠĠĠĠĠĠĠ Ġmixin Standard Help Options Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ[" Con verts Ġa ĠG her kin Ġfile Ġto ĠOpenAPI "]) Ċ class ĠTo Open APIC ommand Ġ: ĠCallable < Unit > Ġ{ ĊĠĠĠ Ġ@ CommandLine . Parameters ( description Ġ= Ġ[" Path Ġin Ġwhich Ġto Ġcreate Ġthe Ġbundle "]) ĊĠĠĠ Ġlateinit Ġvar Ġcontract Path : ĠString ĊĊĠĠĠ Ġ@ CommandLine . Option ( names Ġ= Ġ[" -- debug "]) ĊĠĠĠ Ġvar Ġverbose : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġlateinit Ġvar Ġfile Operations : ĠFile Operations ĊĊĠĠĠ Ġoverride Ġfun Ġcall () Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( verbose ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger Ġ= ĠVer bose () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlogger . keep Ready ( Heading Log (" Con verting Ġ$ contract Path ")) ĊĊĠĠĠĠĠĠĠ Ġif (! file Operations . isFile ( contract Path )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexit With Message ("$ contract Path Ġis Ġnot Ġa Ġfile ") ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġopen API Ġ= Ġparse G her kin StringTo Feature ( file Operations . read ( contract Path )). to Open Api () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġopen API Yaml Ġ= ĠYaml . mapper (). writeValue AsString ( open API ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontract File Ġ= ĠFile ( contract Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġopen API File : ĠFile Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontract File . canonical File . parent File . resolve ( contract File . name Without Extension Ġ+ Ġ". yaml ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen API File . write Text ( open API Yaml ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . log ("# ĠError Ġconverting Ġfile Ġ$ contract Path ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . log ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ