protected void generateDefaultConfigIU(IPublisherResult result) { // TODO this is a bit of a hack. We need to have the default IU fragment generated with code that configures // and unconfigures. The Generator should be decoupled from any particular provider but it is not clear // that we should add the create* methods to IGeneratorInfo... // MockBundleDescription bd1 = new MockBundleDescription("defaultConfigure"); // MockBundleDescription bd2 = new MockBundleDescription("defaultUnconfigure"); result.addIU(BundlesAction.createDefaultBundleConfigurationUnit(createDefaultConfigurationBundleInfo(), createDefaultUnconfigurationBundleInfo(), flavor), IPublisherResult.ROOT); result.addIU(PublisherHelper.createDefaultFeatureConfigurationUnit(flavor), IPublisherResult.ROOT); result.addIU(PublisherHelper.createDefaultConfigurationUnitForSourceBundles(flavor), IPublisherResult.ROOT); }
public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) { setPublisherInfo(publisherInfo); IPublisherResult innerResult = new PublisherResult(); // we have N platforms, generate a CU for each // TODO try and find common properties across platforms String[] configSpecs = publisherInfo.getConfigurations(); for (int i = 0; i < configSpecs.length; i++) { if (monitor.isCanceled()) return Status.CANCEL_STATUS; generateRootFileIUs(configSpecs[i], innerResult); } // merge the IUs into the final result as non-roots and create a parent IU that captures them all results.merge(innerResult, IPublisherResult.MERGE_ALL_NON_ROOT); if (createParent) publishTopLevelRootFilesIU(innerResult.getIUs(null, IPublisherResult.ROOT), results); if (monitor.isCanceled()) return Status.CANCEL_STATUS; return Status.OK_STATUS; }
public void merge(IPublisherResult result, int mode) { if (mode == MERGE_MATCHING) { addIUs(result.getIUs(null, ROOT), ROOT); addIUs(result.getIUs(null, NON_ROOT), NON_ROOT); } else if (mode == MERGE_ALL_ROOT) { addIUs(result.getIUs(null, ROOT), ROOT); addIUs(result.getIUs(null, NON_ROOT), ROOT); } else if (mode == MERGE_ALL_NON_ROOT) { addIUs(result.getIUs(null, ROOT), NON_ROOT); addIUs(result.getIUs(null, NON_ROOT), NON_ROOT); } }
/** * Loop over the known metadata repositories looking for the given IU. * Return the first IU found. * @param iuId the id of the IU to look for * @return the first matching IU or <code>null</code> if none. */ protected IInstallableUnit queryForIU(IPublisherResult publisherResult, String iuId, Version version) { IQuery<IInstallableUnit> query = QueryUtil.createIUQuery(iuId, version); if (version == null || Version.emptyVersion.equals(version)) query = QueryUtil.createLatestQuery(query); IQueryResult<IInstallableUnit> collector = Collector.emptyCollector(); NullProgressMonitor progress = new NullProgressMonitor(); if (publisherResult != null) collector = publisherResult.query(query, progress); if (collector.isEmpty() && info.getMetadataRepository() != null) collector = info.getMetadataRepository().query(query, progress); if (collector.isEmpty() && info.getContextMetadataRepository() != null) collector = info.getContextMetadataRepository().query(query, progress); if (!collector.isEmpty()) return collector.iterator().next(); return null; }
public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) { MultiStatus finalStatus = new MultiStatus(MergeResultsAction.class.getName(), 0, "publishing result", null); //$NON-NLS-1$ for (int i = 0; i < actions.length; i++) { if (monitor.isCanceled()) return Status.CANCEL_STATUS; IPublisherAction action = actions[i]; IPublisherResult result = new PublisherResult(); finalStatus.merge(action.perform(publisherInfo, result, monitor)); results.merge(result, mode); } if (!finalStatus.isOK()) return finalStatus; return Status.OK_STATUS; } }
tweakIU(iuDescriptions); Set<IInstallableUnit> ius = toIUs(iuDescriptions); results.addIUs(ius, IPublisherResult.ROOT); IArtifactRepository repo = info.getArtifactRepository(); boolean artifactReferenced = false;
public void merge(IPublisherResult result, int mode) { if (mode == MERGE_MATCHING) { addIUs(result.getIUs(null, ROOT), ROOT); addIUs(result.getIUs(null, NON_ROOT), NON_ROOT); } else if (mode == MERGE_ALL_ROOT) { addIUs(result.getIUs(null, ROOT), ROOT); addIUs(result.getIUs(null, NON_ROOT), ROOT); } else if (mode == MERGE_ALL_NON_ROOT) { addIUs(result.getIUs(null, ROOT), NON_ROOT); addIUs(result.getIUs(null, NON_ROOT), NON_ROOT); } }
/** * Loop over the known metadata repositories looking for the given IU. * Return the first IU found. * @param iuId the id of the IU to look for * @return the first matching IU or <code>null</code> if none. */ protected IInstallableUnit queryForIU(IPublisherResult publisherResult, String iuId, Version version) { IQuery<IInstallableUnit> query = QueryUtil.createIUQuery(iuId, version); if (version == null || Version.emptyVersion.equals(version)) query = QueryUtil.createLatestQuery(query); IQueryResult<IInstallableUnit> collector = Collector.emptyCollector(); NullProgressMonitor progress = new NullProgressMonitor(); if (publisherResult != null) collector = publisherResult.query(query, progress); if (collector.isEmpty() && info.getMetadataRepository() != null) collector = info.getMetadataRepository().query(query, progress); if (collector.isEmpty() && info.getContextMetadataRepository() != null) collector = info.getContextMetadataRepository().query(query, progress); if (!collector.isEmpty()) return collector.iterator().next(); return null; }
public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) { MultiStatus finalStatus = new MultiStatus(MergeResultsAction.class.getName(), 0, "publishing result", null); //$NON-NLS-1$ for (int i = 0; i < actions.length; i++) { if (monitor.isCanceled()) return Status.CANCEL_STATUS; IPublisherAction action = actions[i]; IPublisherResult result = new PublisherResult(); finalStatus.merge(action.perform(publisherInfo, result, monitor)); results.merge(result, mode); } if (!finalStatus.isOK()) return finalStatus; return Status.OK_STATUS; } }
protected void generateDefaultConfigIU(IPublisherResult result) { // TODO this is a bit of a hack. We need to have the default IU fragment generated with code that configures // and unconfigures. The Generator should be decoupled from any particular provider but it is not clear // that we should add the create* methods to IGeneratorInfo... // MockBundleDescription bd1 = new MockBundleDescription("defaultConfigure"); // MockBundleDescription bd2 = new MockBundleDescription("defaultUnconfigure"); result.addIU(BundlesAction.createDefaultBundleConfigurationUnit(createDefaultConfigurationBundleInfo(), createDefaultUnconfigurationBundleInfo(), flavor), IPublisherResult.ROOT); result.addIU(PublisherHelper.createDefaultFeatureConfigurationUnit(flavor), IPublisherResult.ROOT); result.addIU(PublisherHelper.createDefaultConfigurationUnitForSourceBundles(flavor), IPublisherResult.ROOT); }
public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) { setPublisherInfo(publisherInfo); IPublisherResult innerResult = new PublisherResult(); // we have N platforms, generate a CU for each // TODO try and find common properties across platforms String[] configSpecs = publisherInfo.getConfigurations(); for (int i = 0; i < configSpecs.length; i++) { if (monitor.isCanceled()) return Status.CANCEL_STATUS; generateRootFileIUs(configSpecs[i], innerResult); } // merge the IUs into the final result as non-roots and create a parent IU that captures them all results.merge(innerResult, IPublisherResult.MERGE_ALL_NON_ROOT); if (createParent) publishTopLevelRootFilesIU(innerResult.getIUs(null, IPublisherResult.ROOT), results); if (monitor.isCanceled()) return Status.CANCEL_STATUS; return Status.OK_STATUS; }
public void merge(IPublisherResult result, int mode) { if (mode == MERGE_MATCHING) { addIUs(result.getIUs(null, ROOT), ROOT); addIUs(result.getIUs(null, NON_ROOT), NON_ROOT); } else if (mode == MERGE_ALL_ROOT) { addIUs(result.getIUs(null, ROOT), ROOT); addIUs(result.getIUs(null, NON_ROOT), ROOT); } else if (mode == MERGE_ALL_NON_ROOT) { addIUs(result.getIUs(null, ROOT), NON_ROOT); addIUs(result.getIUs(null, NON_ROOT), NON_ROOT); } }
/** * Loop over the known metadata repositories looking for the given IU. * Return the first IU found. * @param iuId the id of the IU to look for * @return the first matching IU or <code>null</code> if none. */ protected IInstallableUnit queryForIU(IPublisherResult publisherResult, String iuId, Version version) { IQuery<IInstallableUnit> query = QueryUtil.createIUQuery(iuId, version); if (version == null || Version.emptyVersion.equals(version)) query = QueryUtil.createLatestQuery(query); IQueryResult<IInstallableUnit> collector = Collector.emptyCollector(); NullProgressMonitor progress = new NullProgressMonitor(); if (publisherResult != null) collector = publisherResult.query(query, progress); if (collector.isEmpty() && info.getMetadataRepository() != null) collector = info.getMetadataRepository().query(query, progress); if (collector.isEmpty() && info.getContextMetadataRepository() != null) collector = info.getContextMetadataRepository().query(query, progress); if (!collector.isEmpty()) return collector.iterator().next(); return null; }
public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) { MultiStatus finalStatus = new MultiStatus(MergeResultsAction.class.getName(), 0, "publishing result", null); //$NON-NLS-1$ for (int i = 0; i < actions.length; i++) { if (monitor.isCanceled()) return Status.CANCEL_STATUS; IPublisherAction action = actions[i]; IPublisherResult result = new PublisherResult(); finalStatus.merge(action.perform(publisherInfo, result, monitor)); results.merge(result, mode); } if (!finalStatus.isOK()) return finalStatus; return Status.OK_STATUS; } }
protected void generateDefaultConfigIU(IPublisherResult result) { // TODO this is a bit of a hack. We need to have the default IU fragment generated with code that configures // and unconfigures. The Generator should be decoupled from any particular provider but it is not clear // that we should add the create* methods to IGeneratorInfo... // MockBundleDescription bd1 = new MockBundleDescription("defaultConfigure"); // MockBundleDescription bd2 = new MockBundleDescription("defaultUnconfigure"); result.addIU(BundlesAction.createDefaultBundleConfigurationUnit(createDefaultConfigurationBundleInfo(), createDefaultUnconfigurationBundleInfo(), flavor), IPublisherResult.ROOT); result.addIU(PublisherHelper.createDefaultFeatureConfigurationUnit(flavor), IPublisherResult.ROOT); result.addIU(PublisherHelper.createDefaultConfigurationUnitForSourceBundles(flavor), IPublisherResult.ROOT); }
public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) { setPublisherInfo(publisherInfo); IPublisherResult innerResult = new PublisherResult(); // we have N platforms, generate a CU for each // TODO try and find common properties across platforms String[] configSpecs = publisherInfo.getConfigurations(); for (int i = 0; i < configSpecs.length; i++) { if (monitor.isCanceled()) return Status.CANCEL_STATUS; generateRootFileIUs(configSpecs[i], innerResult); } // merge the IUs into the final result as non-roots and create a parent IU that captures them all results.merge(innerResult, IPublisherResult.MERGE_ALL_NON_ROOT); if (createParent) publishTopLevelRootFilesIU(innerResult.getIUs(null, IPublisherResult.ROOT), results); if (monitor.isCanceled()) return Status.CANCEL_STATUS; return Status.OK_STATUS; }
@Override public void merge(IPublisherResult result, int mode) { if (mode == MERGE_MATCHING) { addIUs(result.getIUs(null, ROOT), ROOT); addIUs(result.getIUs(null, NON_ROOT), NON_ROOT); } else if (mode == MERGE_ALL_ROOT) { addIUs(result.getIUs(null, ROOT), ROOT); addIUs(result.getIUs(null, NON_ROOT), ROOT); } else if (mode == MERGE_ALL_NON_ROOT) { addIUs(result.getIUs(null, ROOT), NON_ROOT); addIUs(result.getIUs(null, NON_ROOT), NON_ROOT); } }
/** * Loop over the known metadata repositories looking for the given IU. * Return the first IU found. * @param iuId the id of the IU to look for * @return the first matching IU or <code>null</code> if none. */ protected IInstallableUnit queryForIU(IPublisherResult publisherResult, String iuId, Version version) { IQuery<IInstallableUnit> query = QueryUtil.createIUQuery(iuId, version); if (version == null || Version.emptyVersion.equals(version)) query = QueryUtil.createLatestQuery(query); IQueryResult<IInstallableUnit> collector = Collector.emptyCollector(); NullProgressMonitor progress = new NullProgressMonitor(); if (publisherResult != null) collector = publisherResult.query(query, progress); if (collector.isEmpty() && info.getMetadataRepository() != null) collector = info.getMetadataRepository().query(query, progress); if (collector.isEmpty() && info.getContextMetadataRepository() != null) collector = info.getContextMetadataRepository().query(query, progress); if (!collector.isEmpty()) return collector.iterator().next(); return null; }
@Override public IStatus perform(IPublisherInfo publisherInfo, IPublisherResult results, IProgressMonitor monitor) { MultiStatus finalStatus = new MultiStatus(MergeResultsAction.class.getName(), 0, "publishing result", null); //$NON-NLS-1$ for (int i = 0; i < actions.length; i++) { if (monitor.isCanceled()) return Status.CANCEL_STATUS; IPublisherAction action = actions[i]; IPublisherResult result = new PublisherResult(); finalStatus.merge(action.perform(publisherInfo, result, monitor)); results.merge(result, mode); } if (!finalStatus.isOK()) return finalStatus; return Status.OK_STATUS; } }
/** * Publish the IUs that capture the config.ini information such as properties etc */ private void publishConfigIUs(Collection<IConfigAdvice> configAdvice, IPublisherResult results, String configSpec) { if (configAdvice.isEmpty()) return; String configureData = ""; //$NON-NLS-1$ String unconfigureData = ""; //$NON-NLS-1$ if (!configAdvice.isEmpty()) { String[] dataStrings = getConfigurationStrings(configAdvice); configureData += dataStrings[0]; unconfigureData += dataStrings[1]; } // if there is nothing to configure or unconfigure, then don't even bother generating this IU if (configureData.length() == 0 && unconfigureData.length() == 0) return; Map<String, String> touchpointData = new HashMap<>(); touchpointData.put("configure", configureData); //$NON-NLS-1$ touchpointData.put("unconfigure", unconfigureData); //$NON-NLS-1$ IInstallableUnit cu = createCU(id, version, "config", flavor, configSpec, touchpointData); //$NON-NLS-1$ results.addIU(cu, IPublisherResult.ROOT); }