It is used to process a package list (PL) and construct a dependency tree, ultimately saving that tree in JSON format.
Its approximate algorithm is as follows:
Input: package list PL
Begin
initial queue Q
initial depNode root
initial map noLoop
for p in PL
root.clidrenList.push(p)
Q.push(root)
While(Q is not empty)
s = Q.pop()
get package s record data from database
use record data enrich s
Intial list depList from record data
for dep in depList
get package dep meta data from database
use semver rules clean the dep’s version
if noLoop[dep.name] == 0 || noLoop[dep.name] == s.layer +1
s.clidrenList.push(dep)
Q.push(dep)
noLoop[dep.name] = s.layer +1
use LevelOrder save the tree to json
End
Enter calculator name -
Simplified Software Package Dependency Finder
Describe calculator functionality -
It is used to process a package list (PL) and construct a dependency tree, ultimately saving that tree in JSON format.
Its approximate algorithm is as follows:
Input: package list PL Begin initial queue Q
initial depNode root
initial map noLoop
for p in PL
root.clidrenList.push(p)
Q.push(root)
While(Q is not empty)
s = Q.pop()
get package s record data from database
use record data enrich s
Intial list depList from record data
for dep in depList
get package dep meta data from database
use semver rules clean the dep’s version
if noLoop[dep.name] == 0 || noLoop[dep.name] == s.layer +1
s.clidrenList.push(dep)
Q.push(dep)
noLoop[dep.name] = s.layer +1
use LevelOrder save the tree to json
End
Reference Link:https://ieeexplore.ieee.org/abstract/document/10104906/authors#authors
Under which category you wish to place it -