package Ġorg . bit lap . cli Ċ Ċ import Ġorg . bit lap . cli . cmd . Bit lap Command Parser Ċ import Ġorg . bit lap . cli . extension . Bit lap Cli Application Ċ import Ġorg . bit lap . common . Bit lap Conf Ċ import Ġsq ll ine . Sql Line Ċ import Ġsq ll ine . Sql Line Opts Ċ import Ġjava . io . File Ċ import Ġkotlin . system . exit Process Ċ Ċ /** Ċ Ġ* ĠDesc : ĠBit lap Ġsql Ġline Ċ Ġ* Ċ Ġ* ĠMail : Ġchk 1 9 9 4 0 6 0 9 @ gmail . com Ċ Ġ* ĠCreated Ġby ĠI ce M im osa Ċ Ġ* ĠDate : Ġ 2 0 2 1 / 4 / 1 8 Ċ Ġ*/ Ċ object ĠBit lap Sql Line Ġ{ ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġ å¼ķåħ¥ Ġhttps :// github . com / aj alt / m ord ant ĊĊĠĠĠĠĠĠĠ Ġval Ġconf Ġ= ĠBit lap Conf () ĊĠĠĠĠĠĠĠ Ġval ĠprojectName Ġ= Ġconf . get ( Bit lap Conf . PROJECT _ NAME ) !! ĊĠĠĠĠĠĠĠ Ġval Ġparser Ġ= ĠBit lap Command Parser ( projectName , ĠarrayOf ()). execute () ĊĊĠĠĠĠĠĠĠ Ġval Ġbase Dir Ġ= ĠFile ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getProperty (" user . home "), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( System . getProperty (" os . name "). lowercase (). contains (" windows ")) Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ"." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ+ ĠprojectName ĊĠĠĠĠĠĠĠ Ġ). absolute Path ĊĠĠĠĠĠĠĠ ĠSystem . setProperty (" x . sq ll ine . basedir ", Ġbase Dir ) ĊĠĠĠĠĠĠĠ Ġval Ġsq ll ine Ġ= ĠSql Line (). apply Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġopts . set ( BuiltIn Property . PROMPT , Ġ" bit lap > Ġ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Command Handlers () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠBit lap Cli Application . conf . set ( conf ) ĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= Ġsq ll ine . begin ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- d ", Ġ" org . h 2 . Driver ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- u ", Ġ" jdbc : h 2 : mem :", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- n ", Ġ" sa ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- p ", Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- ac ", ĠBit lap Cli Application :: class . java . canonical Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull , Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! Sql Line Opts . PROPERTY _ NAME _ EXIT . to Boolean ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexit Process ( status . ordinal ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ