ProvisioningLayout(ProvisioningLayoutFactory layoutFactory, ProvisioningConfig config, FeaturePackLayoutFactory<F> fpFactory, boolean initPluginOptions) throws ProvisioningException { this.layoutFactory = layoutFactory; this.fpFactory = fpFactory; this.config = config; this.handle = layoutFactory.createHandle(); if(config.hasFeaturePackDeps()) { try { build(false, true); if (initPluginOptions) { initPluginOptions(Collections.emptyMap(), false); } } catch(Throwable t) { handle.close(); throw t; } } }
ProvisioningLayout(ProvisioningLayoutFactory layoutFactory, ProvisioningConfig config, FeaturePackLayoutFactory<F> fpFactory, Map<String, String> extraOptions) throws ProvisioningException { this.layoutFactory = layoutFactory; this.fpFactory = fpFactory; this.config = config; this.handle = layoutFactory.createHandle(); if(config.hasFeaturePackDeps()) { try { build(false, true); initPluginOptions(extraOptions, false); } catch(Throwable t) { handle.close(); throw t; } } }
private void doProvision(ProvisioningLayout<FeaturePackRuntimeBuilder> layout, FsDiff fsDiff, boolean undo) throws ProvisioningException { try (ProvisioningRuntime runtime = getRuntimeInternal(layout, fsDiff)) { runtime.provision(); if (runtime.getProvisioningConfig().hasFeaturePackDeps()) { persistHashes(runtime);
if(config == null || !config.hasFeaturePackDeps()) { return null;
/** * Uninstalls the specified feature-pack. * * @param fpid feature-pack ID * @param pluginOptions provisioning plugin options * @throws ProvisioningException in case of a failure */ public void uninstall(FeaturePackLocation.FPID fpid, Map<String, String> pluginOptions) throws ProvisioningException { ProvisioningConfig config = getProvisioningConfig(); if(config == null || !config.hasFeaturePackDeps()) { throw new ProvisioningException(Errors.unknownFeaturePack(fpid)); } try(ProvisioningLayout<FeaturePackRuntimeBuilder> layout = getLayoutFactory().newConfigLayout(config, ProvisioningRuntimeBuilder.FP_RT_FACTORY, false)) { layout.uninstall(resolveUniverseSpec(fpid.getLocation()).getFPID(), pluginOptions); doProvision(layout, getFsDiff(), false); } }
if (config.hasFeaturePackDeps()) { for(FeaturePackConfig fp : config.getFeaturePackDeps()) { final ElementNode fpElement = addElement(install, Element.FEATURE_PACK);
public static void displayInfo(PmCommandInvocation invoc, Path installation, ProvisioningConfig config, String type, Function<ProvisioningLayout<FeaturePackLayout>, FeatureContainer> supplier) throws CommandExecutionException { try { if (!config.hasFeaturePackDeps()) { return;