use of org.eclipse.tycho.p2.tools.publisher.facade.PublisherServiceFactory in project tycho by eclipse.
the class PublisherServiceFactoryTest method testThatRequiredServicesAreAvailable.
@Test
public void testThatRequiredServicesAreAvailable() throws Exception {
ServiceTracker<PublisherServiceFactory, PublisherServiceFactory> tracker = new ServiceTracker<>(Activator.getContext(), PublisherServiceFactory.class, null);
tracker.open();
try {
PublisherServiceFactory publisherServiceFactory = tracker.waitForService(2000);
// factory service is only available if all required services are available
assertThat(publisherServiceFactory, is(notNullValue()));
} finally {
tracker.close();
}
}
use of org.eclipse.tycho.p2.tools.publisher.facade.PublisherServiceFactory in project tycho by eclipse.
the class AbstractPublishMojo method execute.
@Override
public final void execute() throws MojoExecutionException, MojoFailureException {
PublisherServiceFactory publisherServiceFactory = osgiServices.getService(PublisherServiceFactory.class);
Collection<DependencySeed> units = publishContent(publisherServiceFactory);
postPublishedIUs(units);
}
use of org.eclipse.tycho.p2.tools.publisher.facade.PublisherServiceFactory in project tycho by eclipse.
the class PublishCategoriesMojo method publishContent.
@Override
protected Collection<DependencySeed> publishContent(PublisherServiceFactory publisherServiceFactory) throws MojoExecutionException, MojoFailureException {
PublisherService publisherService = publisherServiceFactory.createPublisher(getReactorProject(), getEnvironments());
try {
List<DependencySeed> categoryIUs = new ArrayList<>();
for (Category category : getCategories()) {
final File buildCategoryFile = prepareBuildCategory(category, getBuildDirectory());
Collection<DependencySeed> ius = publisherService.publishCategories(buildCategoryFile);
categoryIUs.addAll(ius);
}
return categoryIUs;
} catch (FacadeException e) {
throw new MojoExecutionException("Exception while publishing categories: " + e.getMessage(), e);
}
}
use of org.eclipse.tycho.p2.tools.publisher.facade.PublisherServiceFactory in project tycho by eclipse.
the class PublishEEProfileMojo method publishContent.
@Override
protected Collection<DependencySeed> publishContent(PublisherServiceFactory publisherServiceFactory) throws MojoExecutionException, MojoFailureException {
PublisherService publisherService = publisherServiceFactory.createPublisher(getReactorProject(), getEnvironments());
try {
Collection<DependencySeed> ius = publisherService.publishEEProfile(profileFile);
getLog().info("Published profile IUs: " + ius);
return ius;
} catch (FacadeException e) {
throw new MojoExecutionException("Exception while publishing execution environment profile " + profileFile + ": " + e.getMessage(), e);
}
}
use of org.eclipse.tycho.p2.tools.publisher.facade.PublisherServiceFactory 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;
}
Aggregations