package Ġch . source motion . vertx . gradle . her mes . generate . dto Ċ Ċ import Ġch . source motion . vertx . gradle . her mes . files . add Package Ċ import Ġch . source motion . vertx . gradle . her mes . generate . Dto Class Info Ċ import Ġch . source motion . vertx . gradle . her mes . generate . Generator Ċ import Ġnet . p wall . json . schema . codegen . Code Generator Ċ import Ġjava . nio . file . Files Ċ import Ġjava . nio . file . Path Ċ import Ġkotlin . io . path . name Ċ import Ġkotlin . streams . toList Ċ Ċ class ĠD to Generator Ġ: ĠGenerator < Dto Generator Configuration , ĠList < Dto Class Info >>() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġgenerate ( configuration : ĠD to Generator Configuration ) Ġ: ĠList < Dto Class Info > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoutput Path Ġ= Ġconfiguration . output Dir . to Path () ĊĠĠĠĠĠĠĠ Ġval Ġcode Generator Ġ= ĠCode Generator (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase DirectoryName Ġ= Ġ"$ output Path " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase PackageName Ġ= Ġconfiguration . dto Package ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcode Generator . generate ( configuration . input Dir ) ĊĠĠĠĠĠĠĠ Ġval Ġgenerated Class Files Path Ġ= Ġoutput Path . add Package ( configuration . dto Package ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfind Generated Classes ( generated Class Files Path , Ġconfiguration . dto Package ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfind Generated Classes ( basePath : ĠPath , ĠpackageName : ĠString ) Ġ: ĠList < Dto Class Info > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgenerated ClassNames Ġ= ĠFiles . list ( basePath ). filter Ġ{ Ġit . name . endsWith (" kt ") Ġ}. map Ġ{ Ġit . name . substring Before (". kt ") Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġgenerated ClassNames . map Ġ{ ĠD to Class Info ( packageName , Ġit ) Ġ}. toList () ĊĠĠĠ Ġ} Ċ }