package Ġtech . ston ks . kv izard Ċ Ċ import Ġcom . intellij . ide . util . project Wizard . Module Builder Ċ import Ġcom . intellij . ide . util . project Wizard . Module Wizard Step Ċ import Ġcom . intellij . ide . util . project Wizard . Wizard Context Ċ import Ġcom . intellij . openapi . Disposable Ċ import Ġcom . intellij . openapi . application . Application Manager Ċ import Ġcom . intellij . openapi . module . Module Type Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . roots . Mod ifiable Root Model Ċ import Ġcom . intellij . openapi . util . io . File Util Ċ import Ġcom . intellij . openapi . vfs . Local FileSystem Ċ import Ġcom . intellij . openapi . vfs . Virtual File Ċ import Ġcom . intellij . psi . Psi Manager Ċ import Ġcom . intellij . psi . impl . file . Psi Directory Factory Ċ import Ġtech . ston ks . kv izard . data . Version Api Ċ import Ġtech . ston ks . kv izard . data . model . Template J oo by Ċ import Ġtech . ston ks . kv izard . data . model . Template K tor Ċ import Ġtech . ston ks . kv izard . data . model . Template Mic ronaut Ċ import Ġtech . ston ks . kv izard . data . model . Template Spring Ċ import Ġtech . ston ks . kv izard . data . model . Template Vert x Ċ import Ġtech . ston ks . kv izard . data . model . Version Data Ċ import Ġtech . ston ks . kv izard . generator . Frontend Tree Generator Ċ import Ġtech . ston ks . kv izard . generator . J aval in Tree Generator Ċ import Ġtech . ston ks . kv izard . generator . J oo by Tree Generator Ċ import Ġtech . ston ks . kv izard . generator . K tor Tree Generator Ċ import Ġtech . ston ks . kv izard . generator . Mic ronaut Tree Generator Ċ import Ġtech . ston ks . kv izard . generator . Spring Tree Generator Ċ import Ġtech . ston ks . kv izard . generator . Tree Generator Ċ import Ġtech . ston ks . kv izard . generator . Vert x Tree Generator Ċ import Ġtech . ston ks . kv izard . step . library _ choice . Library Choice Step Ċ import Ġtech . ston ks . kv izard . utils . Run Configuration Util Ċ import Ġtech . ston ks . kv izard . utils . background Task Ċ import Ġtech . ston ks . kv izard . utils . run Gradle Ċ import Ġjava . io . File Ċ Ċ class ĠK Vision Module Builder Ġ: ĠModule Builder () Ġ{ ĊĊĠĠĠ Ġval Ġversion Data Ġby Ġlazy Ġ{ Ġfetch Version Data () Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsupported Project Types Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK Vision Project Type . FRONT END _ ONLY , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK Vision Project Type . KT OR , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK Vision Project Type . SPR ING _ BOOT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK Vision Project Type . JA VAL IN , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK Vision Project Type . JO OB Y , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK Vision Project Type . MIC RON AUT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK Vision Project Type . VER TX ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġproject Type : ĠK Vision Project Type Ġ= ĠK Vision Project Type . FRONT END _ ONLY ĊĠĠĠ Ġvar ĠgroupId : ĠString Ġ= Ġ" com . example " ĊĠĠĠ Ġvar Ġartifact Id : ĠString Ġ= Ġ" project " ĊĠĠĠ Ġvar Ġcompiler Backend : ĠCompiler Backend Ġ= ĠCompiler Backend . IR ĊĠĠĠ Ġvar Ġselected Modules : ĠList < String > Ġ= ĠlistOf (" k vision - bootstrap ", Ġ" k vision - bootstrap - css ") ĊĠĠĠ Ġvar Ġselected Initial izers : ĠList < String > Ġ= ĠlistOf (" Bootstrap Module ", Ġ" Bootstrap Css Module ") ĊĊĠĠĠ Ġoverride Ġfun Ġsetup Root Model ( modifiable Root Model : ĠMod ifiable Root Model ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġcreate AndGet Root () Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġmod ifiable Root Model . add Content Entry ( root ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApplication Manager . getApplication (). run Write Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= ĠPsi Manager . getInstance ( modifiable Root Model . project ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmanager . find File ( root )?. add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPsi Directory Factory . getInstance ( manager . project ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Directory ( root . create Child Directory ( null , Ġ" webpack ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : Ġjava . lang . Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġex . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġgenerator : ĠTree Generator Ġ= Ġcreate Generator () ĊĠĠĠĠĠĠĠ Ġmod ifiable Root Model . project . background Task (" Setting Ġup Ġproject ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerator . generate ( root , Ġartifact Id , ĠgroupId , Ġcompiler Backend , Ġselected Modules , Ġselected Initial izers , Ġversion Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinstall Gradle Wrapper ( modifiable Root Model . project ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( project Type Ġ== ĠK Vision Project Type . FRONT END _ ONLY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRun Configuration Util . create Frontend Configuration ( modifiable Root Model . project ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun Compile Metadata ( modifiable Root Model . project ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRun Configuration Util . create Full stack Configuration ( modifiable Root Model . project ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrun Compile Metadata ( project : ĠProject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġproject . run Gradle (" compile Kotlin Metadata ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinstall Gradle Wrapper ( project : ĠProject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġproject . run Gradle (" wrapper Ġ-- gradle - version Ġ 7 . 2 Ġ-- distribution - type Ġall ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Generator (): ĠTree Generator Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( project Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK Vision Project Type . FRONT END _ ONLY Ġ-> ĠFrontend Tree Generator () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK Vision Project Type . KT OR Ġ-> ĠK tor Tree Generator () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK Vision Project Type . SPR ING _ BOOT Ġ-> ĠSpring Tree Generator () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK Vision Project Type . JA VAL IN Ġ-> ĠJ aval in Tree Generator () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK Vision Project Type . JO OB Y Ġ-> ĠJ oo by Tree Generator () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK Vision Project Type . MIC RON AUT Ġ-> ĠM ic ronaut Tree Generator () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠK Vision Project Type . VER TX Ġ-> ĠVert x Tree Generator () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate AndGet Root (): ĠVirtual File ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpath Ġ= Ġcontent Entry Path ?. let Ġ{ ĠFile Util . to System In dependent Name ( it ) Ġ} Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġreturn ĠLocal FileSystem . getInstance (). refresh And Find File By Path ( File ( path ). apply Ġ{ Ġmkdir s () Ġ}. absolute Path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Module Type (): ĠModule Type < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠK Vision Module Type () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Custom Options Step ( context : ĠWizard Context ?, Ġparent Disposable : ĠDis posable ?): ĠModule Wizard Step Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLibrary Choice Step ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfetch Version Data (): ĠVersion Data Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion Api . create (). getVersion Data (). blocking Get () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġk Vision Ġ= Ġ" 5 . 0 . 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Ġ= Ġ" 1 . 5 . 2 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġserialization Ġ= Ġ" 1 . 2 . 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcor outines Ġ= Ġ" 1 . 5 . 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate J oo by Ġ= ĠTemplate J oo by (" 2 . 1 0 . 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate K tor Ġ= ĠTemplate K tor (" 1 . 6 . 2 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate Mic ronaut Ġ= ĠTemplate Mic ronaut (" 3 . 0 . 0 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate Spring Ġ= ĠTemplate Spring ( spring Boot Ġ= Ġ" 2 . 5 . 4 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemplate Vert x Ġ= ĠTemplate Vert x ( vertx Plugin Ġ= Ġ" 1 . 1 . 3 "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodules Ġ= Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ