2. Goal of this session
• Introduce Tycho
• Show Tycho capabilities and simplicity
• Provide pointers for further exploration
2 Transforming Software Development
3. Content of this session
• What is Tycho?
• Real life build demo
• Relationship with other technologies
• Step-by-step build
• Q&A
3 Transforming Software Development
4. What is Tycho?
• A way to build, test and release Eclipse/OSGi artifacts with Maven
• Tycho feature list:
• Build OSGi bundles / Eclipse plugins
• Execute tests within the OSGi runtime
• Build Eclipse Features
• Build p2 repositories
• RCP applications a.k.a. Products
• ...
• Integrates with the rest of the Maven ecosystem
4 Transforming Software Development
5. Facts about Tycho
• Where is tycho hosted?
• Sonatype donated Tycho to Eclipse Foundation.
• Tycho origin
• Initial work started by Tom Huybrechts at Agfa
• Current contributors
• SAP, Sonatype, Intallio
• Who is using it?
• Numerous companies and open source projects
5 Transforming Software Development
7. Relationship with Maven
• What is Maven? A build system
• Tycho is a set of Maven plugins
• How is it different from other Maven plugins?
• It reuses the PDE metadata to configure the build
• It alters the standard Maven resolution logic to support OSGi dependencies (manifest.mf,
feature.xml, etc.)
• It adds the ability to Maven to read p2 repository
7 Transforming Software Development
8. Relationship with p2
• What is p2? An OSGi-based provisioning system for OSGi.
• p2 is present throughout Tycho
• As input, tycho reads and downloads dependencies from p2 repositories.
• As output, tycho produces p2 repositories
• Internally, tycho embeds parts of p2 in order to perform the dependency resolution
Maven + p2 = Tycho :-)
8 Transforming Software Development
9. Relationship with PDE
• What is PDE? Set of eclipse plugins to build Eclipse plugins.
• PDE UI
• Reuses most files promoted by PDE such as MANIFEST.MF, build.properties,
feature.xml, site.xml, .product
• Reuses PDE UI infrastructure like classpath management, launching capabilities, editors
for OSGi manifest, features, for IDE integration
• PDE Build
• "Competes" with PDE build only in the sense that it provides an alternative way to do a
headless build of plugins and other eclipse artifacts
9 Transforming Software Development
11. Closing remarks
• Tycho does not require a lot of Maven background
• Makes building and testing OSGi bundles / Eclipse plugins easy
• Go try it!
11 Transforming Software Development