Search in sources :

Example 11 with PublisherInfo

use of org.eclipse.equinox.p2.publisher.PublisherInfo in project tycho by eclipse.

the class FeatureDependenciesAction method addPublisherAdvice.

@Override
protected void addPublisherAdvice(IPublisherInfo publisherInfo) {
    // see org.eclipse.equinox.p2.publisher.eclipse.FeaturesAction.createAdviceFileAdvice(Feature, IPublisherInfo)
    IPath location = new Path(feature.getLocation());
    Version version = Version.parseVersion(feature.getVersion());
    String groupId = getId();
    AdviceFileAdvice advice = new AdviceFileAdvice(groupId, version, location, new Path("p2.inf"));
    if (advice.containsAdvice()) {
        publisherInfo.addAdvice(advice);
    }
}
Also used : IPath(org.eclipse.core.runtime.IPath) Path(org.eclipse.core.runtime.Path) IPath(org.eclipse.core.runtime.IPath) Version(org.eclipse.equinox.p2.metadata.Version) AdviceFileAdvice(org.eclipse.equinox.p2.publisher.AdviceFileAdvice)

Example 12 with PublisherInfo

use of org.eclipse.equinox.p2.publisher.PublisherInfo in project tycho by eclipse.

the class ProductDependenciesAction method addPublisherAdvice.

@Override
protected void addPublisherAdvice(IPublisherInfo publisherInfo) {
    // see org.eclipse.equinox.p2.publisher.eclipse.ProductAction.createAdviceFileAdvice()
    File productFileLocation = product.getLocation();
    if (productFileLocation == null) {
        return;
    }
    String id = product.getId();
    Version parseVersion = Version.parseVersion(product.getVersion());
    IPath basePath = new Path(productFileLocation.getParent());
    // must match org.eclipse.tycho.plugins.p2.publisher.PublishProductMojo.getSourceP2InfFile(File)
    final String productFileName = productFileLocation.getName();
    final String p2infFilename = productFileName.substring(0, productFileName.length() - ".product".length()) + ".p2.inf";
    AdviceFileAdvice advice = new AdviceFileAdvice(id, parseVersion, basePath, new Path(p2infFilename));
    if (advice.containsAdvice()) {
        publisherInfo.addAdvice(advice);
    }
}
Also used : IPath(org.eclipse.core.runtime.IPath) Path(org.eclipse.core.runtime.Path) IPath(org.eclipse.core.runtime.IPath) Version(org.eclipse.equinox.p2.metadata.Version) ProductFile(org.eclipse.equinox.internal.p2.publisher.eclipse.ProductFile) File(java.io.File) AdviceFileAdvice(org.eclipse.equinox.p2.publisher.AdviceFileAdvice)

Example 13 with PublisherInfo

use of org.eclipse.equinox.p2.publisher.PublisherInfo in project tycho by eclipse.

the class StandardEEResolutionHints method addIUsFromEnvironment.

static void addIUsFromEnvironment(String executionEnvironment, Map<VersionedId, IInstallableUnit> units) {
    // generate real IUs that represent requested execution environment
    PublisherResult results = new PublisherResult();
    new JREAction(executionEnvironment).perform(new PublisherInfo(), results, null);
    results.query(QueryUtil.ALL_UNITS, null);
    Iterator<IInstallableUnit> iterator = results.query(QueryUtil.ALL_UNITS, null).iterator();
    while (iterator.hasNext()) {
        put(units, iterator.next());
    }
}
Also used : PublisherInfo(org.eclipse.equinox.p2.publisher.PublisherInfo) PublisherResult(org.eclipse.equinox.p2.publisher.PublisherResult) JREAction(org.eclipse.equinox.p2.publisher.actions.JREAction) IInstallableUnit(org.eclipse.equinox.p2.metadata.IInstallableUnit)

Example 14 with PublisherInfo

use of org.eclipse.equinox.p2.publisher.PublisherInfo in project tycho by eclipse.

the class PublisherActionRunner method executeAction.

public Collection<IInstallableUnit> executeAction(IPublisherAction action, IMetadataRepository metadataOutput, IArtifactRepository artifactOutput, IPublisherAdvice... advice) {
    ResultSpyAction resultSpy = new ResultSpyAction();
    IPublisherAction[] actions = new IPublisherAction[] { action, resultSpy };
    /**
     * The PublisherInfo must not be cached, or results may leak between publishing actions (see
     * bug 346532).
     */
    IPublisherInfo publisherInfo = newPublisherInfo(metadataOutput, artifactOutput);
    for (IPublisherAdvice adviceItem : advice) {
        publisherInfo.addAdvice(adviceItem);
    }
    Publisher publisher = new Publisher(publisherInfo);
    IStatus result = publisher.publish(actions, null);
    handlePublisherStatus(result);
    return resultSpy.getAllIUs();
}
Also used : IPublisherAdvice(org.eclipse.equinox.p2.publisher.IPublisherAdvice) IStatus(org.eclipse.core.runtime.IStatus) IPublisherAction(org.eclipse.equinox.p2.publisher.IPublisherAction) Publisher(org.eclipse.equinox.p2.publisher.Publisher) IPublisherInfo(org.eclipse.equinox.p2.publisher.IPublisherInfo)

Aggregations

PublisherInfo (org.eclipse.equinox.p2.publisher.PublisherInfo)6 IPublisherInfo (org.eclipse.equinox.p2.publisher.IPublisherInfo)5 IInstallableUnit (org.eclipse.equinox.p2.metadata.IInstallableUnit)4 File (java.io.File)3 IStatus (org.eclipse.core.runtime.IStatus)3 Version (org.eclipse.equinox.p2.metadata.Version)3 IPublisherAction (org.eclipse.equinox.p2.publisher.IPublisherAction)3 PublisherResult (org.eclipse.equinox.p2.publisher.PublisherResult)3 TransientArtifactRepository (org.eclipse.tycho.p2.impl.publisher.repo.TransientArtifactRepository)3 LinkedHashMap (java.util.LinkedHashMap)2 IPath (org.eclipse.core.runtime.IPath)2 Path (org.eclipse.core.runtime.Path)2 IProvidedCapability (org.eclipse.equinox.p2.metadata.IProvidedCapability)2 InstallableUnitDescription (org.eclipse.equinox.p2.metadata.MetadataFactory.InstallableUnitDescription)2 AdviceFileAdvice (org.eclipse.equinox.p2.publisher.AdviceFileAdvice)2 Publisher (org.eclipse.equinox.p2.publisher.Publisher)2 JREAction (org.eclipse.equinox.p2.publisher.actions.JREAction)2 BufferedInputStream (java.io.BufferedInputStream)1 FileInputStream (java.io.FileInputStream)1 IOException (java.io.IOException)1