package Ġcom . jetbrains . edu . php Ċ Ċ import Ġcom . intellij . openapi . application . Application Manager Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . vfs . Virtual File Ċ import Ġcom . jetbrains . edu . learning . course Format . Course Ċ import Ġcom . jetbrains . edu . learning . course Generation . Generator Utils . create Child File Ċ import Ġcom . jetbrains . edu . learning . course Generation . Generator Utils . get Internal Template Text Ċ import Ġcom . jetbrains . edu . learning . is UnitTest Mode Ċ import Ġcom . jetbrains . edu . learning . new project . Course Project Generator Ċ import Ġcom . jetbrains . php . composer . Composer DataService Ċ import Ġcom . jetbrains . php . composer . Composer Utils Ċ import Ġcom . jetbrains . php . composer . actions . Composer Install Action Ċ import Ġcom . jetbrains . php . composer . actions . Composer Options Manager Ċ import Ġcom . jetbrains . php . composer . execution . ph ar . Ph ar Composer Execution Ċ Ċ class ĠPhp Course Project Generator ( ĊĠ Ġbuilder : ĠPhp Course Builder , ĊĠ Ġcourse : ĠCourse Ċ ) Ġ: ĠCourse Project Generator < Php Project Settings >( builder , Ġcourse ) Ġ{ ĊĊĠ Ġoverride Ġfun Ġcreate Additional Files ( project : ĠProject , Ġbase Dir : ĠVirtual File , Ġis New Course : ĠBoolean ) Ġ{ ĊĠĠĠ Ġsuper . create Additional Files ( project , Ġbase Dir , Ġis New Course ) ĊĠĠĠ Ġdownload Ph ar ( project ) ĊĠĠĠ Ġcreate Composer File ( project , Ġbase Dir ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġcreate Composer File ( project : ĠProject , Ġbase Dir : ĠVirtual File ) Ġ{ ĊĠĠĠ Ġval Ġcomposer File Ġ= ĊĠĠĠĠĠ Ġbase Dir . find Child ( Composer Utils . CONFIG _ DEFAULT _ FILENAME ) ĊĠĠĠĠĠ Ġ?: Ġcreate Child File ( project , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Dir , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComposer Utils . CONFIG _ DEFAULT _ FILENAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Internal Template Text ( Composer Utils . CONFIG _ DEFAULT _ FILENAME )) ĊĊĠĠĠ Ġif Ġ( composer File Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġinstall Composer ( project , Ġcomposer File ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġdownload Ph ar ( project : ĠProject ) Ġ{ ĊĠĠĠ Ġif Ġ( is UnitTest Mode ) Ġ{ ĊĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġinterpreter Id Ġ= Ġmy Course Builder . get Language Settings (). get Settings (). php Interpreter ?. id ĊĠĠĠ Ġval Ġfile Ġ= ĠComposer Utils . download Ph ar ( project , Ġnull , Ġproject . basePath ) ĊĠĠĠ Ġval Ġph ar Composer Execution Ġ= Ġif Ġ( file Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠ ĠPh ar Composer Execution ( interpreter Id , Ġfile . path , Ġfalse ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠ ĠPh ar Composer Execution ( interpreter Id , Ġnull , Ġtrue ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġproject . getService ( Composer DataService :: class . java ). apply Ġ{ ĊĠĠĠĠĠ Ġcomposer Execution Ġ= Ġph ar Composer Execution ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġinstall Composer ( project : ĠProject , Ġcomposer File : ĠVirtual File ) Ġ{ ĊĠĠĠ ĠApplication Manager . getApplication (). invoke Later Ġ{ ĊĠĠĠĠĠ Ġval Ġexecutor Ġ= ĠComposer Install Action . create Executor ( ĊĠĠĠĠĠĠĠ Ġproject , ĊĠĠĠĠĠĠĠ ĠComposer DataService . getInstance ( project ). composer Execution , ĊĠĠĠĠĠĠĠ Ġcomposer File , ĊĠĠĠĠĠĠĠ ĠComposer Options Manager . DEFAULT _ COMMAND _ LINE _ OPTIONS , ĊĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠ Ġ) ĊĠĠĠĠĠ Ġexecutor . execute () ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ }