private void layout(FeaturePackDepsConfig config, Map<ProducerSpec, FPID> branch, int type) throws ProvisioningException { if(!config.hasFeaturePackDeps()) { return;
private boolean resolvePackage(FeaturePackRuntimeBuilder origin, String name, PackageRuntime.Builder parent, int type) throws ProvisioningException { final FeaturePackDepsConfig fpDeps; if (origin != null) { if(origin.resolvePackage(name, this, parent, type)) { return true; } fpDeps = origin.getSpec(); } else { fpDeps = config; } if (!fpDeps.hasFeaturePackDeps()) { return false; } for (FeaturePackConfig fpDep : fpDeps.getFeaturePackDeps()) { final FeaturePackRuntimeBuilder fpDepBuilder = layout.getFeaturePack(fpDep.getLocation().getProducer()); if (setVisited(fpDepBuilder) && resolvePackage(fpDepBuilder, name, parent, type)) { return true; } } return false; }
private FeatureGroup getFeatureGroupSpec(FeaturePackRuntimeBuilder origin, String name) throws ProvisioningException { final FeaturePackDepsConfig fpDeps; if(origin != null) { if(origin.isVisited()) { return null; } final FeatureGroup fg = origin.getFeatureGroupSpec(name); if(fg != null) { currentOrigin = origin; return fg; } fpDeps = origin.getSpec(); setVisited(origin); } else { fpDeps = config; } if (!fpDeps.hasFeaturePackDeps()) { return null; } for (FeaturePackConfig fpDep : fpDeps.getFeaturePackDeps()) { final FeatureGroup fg = getFeatureGroupSpec(layout.getFeaturePack(fpDep.getLocation().getProducer()), name); if (fg != null) { return fg; } } return null; }
private ResolvedFeatureSpec findFeatureSpec(FeaturePackRuntimeBuilder origin, String name, boolean switchOrigin) throws ProvisioningException { final FeaturePackDepsConfig fpDeps; if (origin != null) { if(origin.isVisited()) { return null; } final ResolvedFeatureSpec fs = origin.getFeatureSpec(name); if (fs != null) { if (switchOrigin) { currentOrigin = origin; } return fs; } fpDeps = origin.getSpec(); setVisited(origin); } else { fpDeps = config; } if (!fpDeps.hasFeaturePackDeps()) { return null; } for (FeaturePackConfig fpDep : fpDeps.getFeaturePackDeps()) { final ResolvedFeatureSpec fs = findFeatureSpec(layout.getFeaturePack(fpDep.getLocation().getProducer()), name, switchOrigin); if (fs != null) { return fs; } } return null; }