Jetzt möchte ich noch definieren, was wir unter einer "Packagegruppe" verstehen. Einfach gesagt ist es ein Paket mit all seinen Abhängigkeiten, sowohl den direkten als auch den indirekten. Mal angenommen:
Package A enthält die Packages
A,
B und
C, und
A ist das Basis-
Package (Root
Package), oder anders gesagt,
A setzt voraus, dass auch
B und
C geladen werden. Nun stellt sich die Frage, was ist die Gruppe für
Package B? Ganz einfach, es ist einfach
Package B. Das liegt daran, dass
B nicht voraussetzt, dass
A oder
C geladen werden damit
B läuft. Würde
B C voraussetzen, dann würde
B's Packagegruppe
C beinhalten.
Natürlich können weder B noch C das Package A voraussetzen, da wir sonst eine zirkuläre Referenz hätten und dieses ist nicht gestattet ist. Natürlich können jetzt die Packages
A,
B und
C auch durch andere Packagegruppen genutzt werden. Zum Beispiel: Sagen wird, dass
Package D auch die Packages
B und
C voraussetzt. Jetzt haben wir also zwei Packagegruppen. Eine beinhaltet die Packages
A,
B und
C, und die andere beinhaltet die Packages
D,
B und
C. Die jeweiligen Basis Packages sind
A und
D.