void include() { if(!setFlag(INCLUDED)) { return; } if(!requiredDeps.isEmpty()) { for (PackageRuntime.Builder dep : requiredDeps) { dep.include(); } } if(!optionalDeps.isEmpty()) { for (PackageRuntime.Builder dep : optionalDeps) { dep.setFlag(PARENT_INCLUDED); } } }
&& pkgBuilder.type != PackageDependencySpec.PASSIVE || pkgBuilder.isPassiveWithSatisfiedDeps()))) { pkgBuilder.include(); included.add(pkgBuilder.build(this));
pkgBuilder.setFlag(PackageRuntime.ROOT); if(type == PackageDependencySpec.REQUIRED) { pkgBuilder.include();
void addPackageDep(PackageRuntime.Builder dep, int type, int includedOptionalDeps) { if(type == PackageDependencySpec.REQUIRED) { if (isFlagOn(INCLUDED)) { dep.include(); } else { requiredDeps = CollectionUtils.add(requiredDeps, dep); } return; } if(includedOptionalDeps == ProvisioningRuntimeBuilder.PKG_DEP_REQUIRED || // special case in FeaturePackRuntime includedOptionalDeps == ProvisioningRuntimeBuilder.PKG_DEP_ALL) { return; } if (includedOptionalDeps == ProvisioningRuntimeBuilder.PKG_DEP_PASSIVE_PLUS || type == PackageDependencySpec.PASSIVE /* redundant check && includedOptionalDeps != ProvisioningRuntimeBuilder.PKG_DEP_REQUIRED*/) { optionalDeps = CollectionUtils.add(optionalDeps, dep); if (isFlagOn(INCLUDED)) { dep.setFlag(PARENT_INCLUDED); } } }