Skip to content

Commit 19a8a5a

Browse files
[[ Bugfix MultipleLCBDeps ]] Added chained LCB dep checking
The IDE extension library has been updated to make sure that the full dependency chain is checked. That if a wideget is dependent on a module, we need to make sure that the modules dependecies are included (before the module itself).
1 parent f19fdec commit 19a8a5a

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

Toolset/libraries/revideextensionlibrary.livecodescript

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -843,17 +843,26 @@ private function __fetchExtensionManifestData pFolder, pExtFile
843843
return tDataA
844844
end __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+
846858
function 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)
857866
end revIDEExtensionsOrderByDependency
858867

859868
private function isUserExtension pData

0 commit comments

Comments
 (0)