By the last few days I was focus on document what I did, today it was time to get into business again and the dependencies hierarchies are working. The next step is send the leaf nodes to the isolated environment to build the packages (the isolated environments are currently working).
All the nodes in the tree are debian packages compounds of the necessary commands to build the package.
A leaf node is a debian package with empty build-depends. The problem here is reach the leaf nodes. Let me explain how it works. A leaf node in the tree is a node that does not have build-dependecies. given so, the goal here is to get all the leaf node and send them to build. Exactly!! This is developed by using a DFS algorithm, when it found a leaf node, the node is added to a set container which is compound only by leaf nodes so they don’t have build-dependencies and therefore are perfect to build. When a package is built it is time to delete it by using a callback object and call again the algorithm to get the new leaf nodes to build. After a package is built is time to delete it so the tree will change and there will be new leaf nodes.