package Ġbe . ma arten bal li au w . r ider . x dt . util Ċ Ċ import Ġcom . intellij . openapi . application . Application Ċ import Ġcom . intellij . openapi . file Editor . impl . Load Text Util Ċ import Ġcom . jetbrains . r ider . model . Reload Command Ċ import Ġcom . jetbrains . r ider . project View . nodes . Project Model Node Ċ import Ġcom . jetbrains . r ider . project View . solution Ċ import Ġcom . jetbrains . r ider . util . idea . sync From Backend Ċ import Ġjava . io . OutputStream Writer Ċ Ċ class ĠR d Project Util Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġmake Dependent Up on ( application : ĠApplication , Ġproject Model Node : ĠProject Model Node ?, ĠfileName : ĠString , Ġparent FileName : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapplication . save All () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproject File Ġ= Ġproject Model Node !!. get Virtual File () !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproject Xml Ġ= ĠXml Util . load Document FromString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLoad Text Util . load Text ( project File ). toString ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġproject Xml . root Element ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. elements (" ItemGroup ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . elements (" Content ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. first OrNull Ġ{ Ġit . attribute (" Include "). text Ġ== ĠfileName Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdependent Element Ġ= Ġnode !!. addElement (" Dependent Up on ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependent Element . add Text ( parent FileName ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġapplication . run Write Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwriter Ġ= ĠOutputStream Writer ( project File . get OutputStream ( this )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . write ( project Xml . as XML ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . flush () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRe load Ġproject ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreload Command Ġ= ĠRe load Command ( listOf ( project Model Node . id )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject Model Node . project . solution . project Model Tasks . reload Projects . sync From Backend ( reload Command , Ġproject Model Node . project ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }