PackageInfo(PackageRuntime pkg, Identity identity, CliPlugin plugin) throws IOException, ProvisioningException { this.pkg = pkg; this.fpid = pkg.getFeaturePackRuntime().getFPID(); this.identity = identity; this.contentDir = pkg.getContentDir(); this.spec = pkg.getSpec(); customContent = plugin == null ? null : plugin.handlePackageContent(pkg); if (customContent == null) { fillContent(); } }
private ProvisioningConfig buildNewConfig(PmSession pmSession) throws ProvisioningException, IOException { ProvisioningConfig tmp = builder.build(); if (runtime != null) { runtime.close(); } runtime = ProvisioningRuntimeBuilder.newInstance(pmSession.getMessageWriter(false)) .initLayout(pmSession.getLayoutFactory(), tmp) .setEncoding(ProvisioningManager.Builder.ENCODING) .build(); Set<FeaturePackLocation.FPID> dependencies = new HashSet<>(); for (FeaturePackRuntime rt : runtime.getFeaturePacks()) { dependencies.add(rt.getFPID()); } FeatureContainer tmpContainer = FeatureContainers.fromProvisioningRuntime(pmSession, runtime); // Need to have in sync the current with the full. // If fullConainer creation is a failure, the container will be not updated. Map<String, FeatureContainer> tmpDeps = new HashMap<>(); if (container != null) { tmpDeps.putAll(container.getFullDependencies()); } buildDependencies(pmSession, dependencies, tmpDeps); container = tmpContainer; container.setEdit(true); container.setFullDependencies(tmpDeps); return tmp; }
gavs.put(Identity.buildOrigin(rt.getFPID().getProducer()), rt); for (PackageRuntime pkg : rt.getPackages()) { pkgBuilder.buildGroups(new PackageInfo(pkg, Identity. fromChannel(rt.getFPID().getProducer(), pkg.getName()), plugin), new PackageGroupsBuilder.PackageInfoBuilder() { @Override public PackageInfo build(Identity identity, PackageInfo parent) { fp.setPackagesRoot(Identity.buildOrigin(rt.getFPID().getProducer()), pkgBuilder.getPackagesRoot()); rt.getFPID(), fp.getFPID(), pkgBuilder.getPackages(), allSpecs, null); fp.setFeatureSpecRoot(Identity.buildOrigin(rt.getFPID().getProducer()), specsRoot);
messageWriter.verbose("Installing %s", fp.getFPID()); for(PackageRuntime pkg : fp.getPackages()) { final Path pkgSrcDir = pkg.getContentDir();