private void buildGroups(Group grp, PackageInfo pkg, PackageInfoBuilder builder) {
Group gp = allPackagesGroups.get(pkg.getIdentity());
if (gp == null) {
gp = Group.fromIdentity(pkg.getIdentity());
allPackagesGroups.put(pkg.getIdentity(), gp);
gp.setPackage(pkg);
for (PackageDependencySpec s : pkg.getSpec().getLocalPackageDeps()) {
buildGroups(gp, builder.build(Identity.fromString(s.getName()), pkg), builder);
}
for (String o : pkg.getSpec().getPackageOrigins()) {
for (PackageDependencySpec p : pkg.getSpec().getExternalPackageDeps(o)) {
buildGroups(gp, builder.build(Identity.fromString(o, p.getName()), pkg), builder);
}
}
}
grp.addGroup(gp);
}
}