@@ -843,17 +843,26 @@ private function __fetchExtensionManifestData pFolder, pExtFile
843843 return tDataA
844844end __fetchExtensionManifestData
845845
846+ private command __extensionAddDependenciesToRequiresArray pExtension, @xRequiresA
847+ local tDependentsA
848+ put revIDEExtensionProperty(pExtension , "requires" ) into tDependentsA
849+
850+ repeat for each element tElement in tDependentsA
851+ if tElement is not among the keys of xRequiresA then
852+ __extensionAddDependenciesToRequiresArray tElement , xRequiresA
853+ end if
854+ addToList tElement , xRequiresA[pExtension ]
855+ end repeat
856+ end __extensionAddDependenciesToRequiresArray
857+
846858function revIDEExtensionsOrderByDependency pExtensions
847859 # Accumulate an array of dependencies
848- local tRequiresA , tDependentsA
860+ local tRequiresA
849861 repeat for each line tExtension in pExtensions
850- put revIDEExtensionProperty(tExtension , "requires" ) into tDependentsA
851- repeat for each element tElement in tDependentsA
852- addToList tElement , tRequiresA [tExtension ]
853- end repeat
862+ __extensionAddDependenciesToRequiresArray tExtension , tRequiresA
854863 end repeat
855864
856- return extensionOrderByDependency(pExtensions , tRequiresA )
865+ return extensionOrderByDependency(the keys of tRequiresA , tRequiresA )
857866end revIDEExtensionsOrderByDependency
858867
859868private function isUserExtension pData
0 commit comments