Binary Artifact Exchange for Tycho Projects Made Easy

You are not authorized to post comments.
Session Type: 
Standard [35 minutes]

In Maven, referencing binary artifacts of other projects has always been easy: A Maven repository hosted by a Maven repository manager (like Nexus OSS) acts as central hub for exchanging both released and non-released (“snapshot”) artifacts. To make its artifacts available to others, a project simply deploys to the repository manager using built-in Maven functionality. Other projects then can reference the deployed artifacts by configuring the central hub as remote repository.

For Tycho projects, this approach did not work so far because Tycho uses p2 repositories as primary repository format for binary artifacts.

In this talk, we present our solution for artifact exchange between Tycho projects: Just as in a plain Maven build, the artifacts of Tycho project A, including a zipped p2 repository, are deployed into the Maven repository manager. Tycho project B then references the p2 repository of project A by its Maven coordinates. For this to work, we only need the open-source Maven repository manager Nexus OSS and a Nexus plug-in provided by Tycho. The plug-in serves the deployed, zipped p2 repositories in unpacked form, so that they are suitable for both Tycho and Eclipse.

An important additional benefit of using a Maven repository manager to store p2 repositories is that these p2 repositories are versioned, and that release versions are immutable. Only using immutable p2 repositories for a Tycho build ensures a reproducible build.

Schedule info



ALM Connect
Experience level: 

Too specialized?

To be honest, I am rather surprised that this talk has been rejected. It aims to demonstrate a solution to this Tycho question on, which has six (!) times more votes than any other Tycho question on that site.

Re-assign to ALM Connect

I think this talk is better suited for the ALM Connect track. Please change back if you disagree.

Copyright © 2013 The Eclipse Foundation. All Rights Reserved.