private ConfigModelStack resolveModelOnlyConfig(ConfigId configId) throws ProvisioningException { boolean extendedStackLevel = false; if (config.hasTransitiveDeps()) { for (FeaturePackConfig fpDep : config.getTransitiveDeps()) { extendedStackLevel |= fpConfigStack.push(fpDep, extendedStackLevel); } } ConfigModelStack modelOnlyStack = null; for (FeaturePackConfig fpDep : config.getFeaturePackDeps()) { extendedStackLevel |= fpConfigStack.push(fpDep, extendedStackLevel); if(fpDep.isConfigModelExcluded(configId) || !fpDep.isInheritModelOnlyConfigs() && !fpDep.isConfigModelIncluded(configId)) { continue; } modelOnlyStack = resolveModelOnlyConfig(fpDep, modelOnlyStack, configId); } if (extendedStackLevel) { fpConfigStack.popLevel(); } return modelOnlyStack; }
if(config.hasTransitiveDeps()) { for (FeaturePackConfig fpConfig : config.getTransitiveDeps()) { extendedStackLevel |= fpConfigStack.push(fpConfig, extendedStackLevel);
if(config.hasTransitiveDeps()) { final ElementNode transitives = addElement(install, Element.TRANSITIVE); for(FeaturePackConfig dep : config.getTransitiveDeps()) {
if(config.hasTransitiveDeps()) { for (FeaturePackConfig fpConfig : config.getTransitiveDeps()) { extendedStackLevel |= fpConfigStack.push(fpConfig, extendedStackLevel);
private Builder(ProvisioningConfig original) throws ProvisioningDescriptionException { if(original == null) { return; } if(original.hasPluginOptions()) { addOptions(original.getPluginOptions()); } for (FeaturePackConfig fp : original.getFeaturePackDeps()) { addFeaturePackDep(original.originOf(fp.getLocation().getProducer()), fp); } if (original.hasTransitiveDeps()) { for (FeaturePackConfig fp : original.getTransitiveDeps()) { addFeaturePackDep(original.originOf(fp.getLocation().getProducer()), fp); } } initUniverses(original); initConfigs(original); }
private ProvisionedConfig getDefaultProvisionedConfig(ProvisioningLayout<?> layout, final ConfigModel definedConfig) throws ProvisioningException { final ProvisioningConfig originalConfig = layout.getConfig(); final ProvisioningConfig.Builder baseBuilder = ProvisioningConfig.builder().initUniverses(originalConfig) .addOptions(originalConfig.getOptions()); if (originalConfig.hasTransitiveDeps()) { for (FeaturePackConfig fp : originalConfig.getTransitiveDeps()) { baseBuilder.addFeaturePackDep(originalConfig.originOf(fp.getLocation().getProducer()), fp); } } for (FeaturePackConfig fp : originalConfig.getFeaturePackDeps()) { baseBuilder.addFeaturePackDep(originalConfig.originOf(fp.getLocation().getProducer()), fp); } baseBuilder.setInheritConfigs(false); baseBuilder.includeDefaultConfig(model, name); baseBuilder.addConfig(getBaseConfig(definedConfig)); ProvisioningConfig baseC = baseBuilder.build(); try(ProvisioningRuntime baseRt = ProvisioningRuntimeBuilder.newInstance(log).initLayout(layout.getFactory(), baseC).build()) { return getRequiredProvisionedConfig(baseRt.getConfigs(), model, name); } } }