Search in sources :

Example 1 with Interpolator

use of org.eclipse.tycho.core.shared.Interpolator in project tycho by eclipse.

the class PublishProductMojo method publishContent.

@Override
protected Collection<DependencySeed> publishContent(PublisherServiceFactory publisherServiceFactory) throws MojoExecutionException, MojoFailureException {
    Interpolator interpolator = new TychoInterpolator(getSession(), getProject());
    PublishProductTool publisher = publisherServiceFactory.createProductPublisher(getReactorProject(), getEnvironments(), getQualifier(), interpolator);
    List<DependencySeed> seeds = new ArrayList<>();
    for (File productFile : getEclipseRepositoryProject().getProductFiles(getProject())) {
        try {
            ProductConfiguration productConfiguration = ProductConfiguration.read(productFile);
            if (isEmpty(productConfiguration.getId())) {
                throw new MojoExecutionException("The product file " + productFile.getName() + " does not contain the mandatory attribute 'uid'. Please ensure you entered an id in the product file.");
            } else if (isEmpty(productConfiguration.getVersion())) {
                throw new MojoExecutionException("The product file " + productFile.getName() + " does not contain the mandatory attribute 'version'. Please ensure you entered a version in the product file.");
            }
            seeds.addAll(publisher.publishProduct(productFile, productConfiguration.includeLaunchers() ? getExpandedLauncherBinaries() : null, flavor));
        } catch (IOException e) {
            throw new MojoExecutionException("I/O exception while writing product definition or copying launcher icons", e);
        }
    }
    return seeds;
}
Also used : DependencySeed(org.eclipse.tycho.core.resolver.shared.DependencySeed) ProductConfiguration(org.eclipse.tycho.model.ProductConfiguration) MojoExecutionException(org.apache.maven.plugin.MojoExecutionException) PublishProductTool(org.eclipse.tycho.p2.tools.publisher.facade.PublishProductTool) ArrayList(java.util.ArrayList) Interpolator(org.eclipse.tycho.core.shared.Interpolator) TychoInterpolator(org.eclipse.tycho.core.maven.TychoInterpolator) IOException(java.io.IOException) TychoInterpolator(org.eclipse.tycho.core.maven.TychoInterpolator) File(java.io.File)

Aggregations

File (java.io.File)1 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 MojoExecutionException (org.apache.maven.plugin.MojoExecutionException)1 TychoInterpolator (org.eclipse.tycho.core.maven.TychoInterpolator)1 DependencySeed (org.eclipse.tycho.core.resolver.shared.DependencySeed)1 Interpolator (org.eclipse.tycho.core.shared.Interpolator)1 ProductConfiguration (org.eclipse.tycho.model.ProductConfiguration)1 PublishProductTool (org.eclipse.tycho.p2.tools.publisher.facade.PublishProductTool)1