SlideShare a Scribd company logo
Tycho

Building Eclipse plug-ins with Maven


       Pascal Rapicault, Sonatype
               Tycho enthusiast




                      1           Transforming Software Development
Goal of this session

•   Introduce Tycho

•   Show Tycho capabilities and simplicity

•   Provide pointers for further exploration




                                               2   Transforming Software Development
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
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
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
Real life demo




      6          Transforming Software Development
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
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
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
Step-by-step build




        10           Transforming Software Development
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
Thanks for attending this session




               12          Transforming Software Development
Links

•   Project homepage http://eclipse.org/tycho

•   Currently the codebase:

         •   https://github.com/sonatype/sonatype-tycho


•   Users and development mailing lists:

         •   http://dev.eclipse.org/mailman/listinfo/tycho-user

         •   http://dev.eclipse.org/mailman/listinfo/tycho-dev


•   Bugs:

         •   https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho


•   Example from this session

         •   https://github.com/jsievers/tycho-demo


•   Reference card

         •   https://docs.sonatype.org/display/TYCHO/Tycho+reference+card



                                                       13                Transforming Software Development

More Related Content

PPTX
Tycho Tutorial (EclipseCon 2012)
PDF
Maven 3 / Tycho
PPTX
Tycho Tutorial EclipseCon 2013
PPTX
Discovery the p2 API (updated to Indigo)
PPTX
Migrating from PDE to Tycho builds
PPTX
Building Eclipse Plugins and RCP applications with Tycho
PPTX
Building Eclipse Plugins with Tycho
PDF
p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...
Tycho Tutorial (EclipseCon 2012)
Maven 3 / Tycho
Tycho Tutorial EclipseCon 2013
Discovery the p2 API (updated to Indigo)
Migrating from PDE to Tycho builds
Building Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins with Tycho
p2, your savior or your achilles heel? Everything an Eclipse team needs to kn...

What's hot (20)

PDF
P2 Introduction
PDF
Tips & Tricks for Maven Tycho
PPTX
Do's and Do not's about p2
PPT
Understanding and extending p2 for fun and profit
PPT
Eclipse Plug-in Develompent Tips And Tricks
KEY
L0016 - The Structure of an Eclipse Plug-in
PPTX
Building Eclipse Plugins
PDF
Eclipse plug in development
PDF
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
PPT
469-Porting the build system of a commercial RCP Application from Europa to G...
PDF
Continuous Integration
PDF
Flatpak and AppImage usage on openSUSE
ODP
Unit Test Android Without Going Bald
ODP
PDE Good Practices
PPTX
PDE builds or Maven
PPTX
Plugin architecture (Extensible Application Architecture)
PPT
The Build System of Commercial RCP Application A Case Study
PDF
Developing Rich Clients with the Eclipse 4 Application Platform
PPTX
Eclipse 4.0 - Dynamic Models
PDF
EEF : Sexy Properties, Wizards and Views - EclipseCon 11
P2 Introduction
Tips & Tricks for Maven Tycho
Do's and Do not's about p2
Understanding and extending p2 for fun and profit
Eclipse Plug-in Develompent Tips And Tricks
L0016 - The Structure of an Eclipse Plug-in
Building Eclipse Plugins
Eclipse plug in development
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
469-Porting the build system of a commercial RCP Application from Europa to G...
Continuous Integration
Flatpak and AppImage usage on openSUSE
Unit Test Android Without Going Bald
PDE Good Practices
PDE builds or Maven
Plugin architecture (Extensible Application Architecture)
The Build System of Commercial RCP Application A Case Study
Developing Rich Clients with the Eclipse 4 Application Platform
Eclipse 4.0 - Dynamic Models
EEF : Sexy Properties, Wizards and Views - EclipseCon 11
Ad

Similar to Tycho - Building plug-ins with Maven (20)

PPTX
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
KEY
Next Generation Development Infrastructure with the Maven Enterprise Stack
PDF
Eclipse & java based modeling platforms for smart phone
PPT
Automating the consumption of Eclipse for internal use
PPTX
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
PDF
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
PPT
Sleep Peacefully as Maven Tycho Builds your Product
PPTX
Yoxos 5 to assist with bugday
PPT
Brane.Storm
PDF
Keynote de Mike Milinkovich
PDF
Eclipse IDE, 2019.09, Java Development
PDF
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
PPT
What's new in p2 (2009)?
KEY
Pde build
PPTX
Eclipse Transformer
PDF
2018.11 eclipse overview (japan meeting)
PPTX
Web-based development with Orion and Flux (APIcon 2014)
PDF
Tuscany : Applying OSGi After The Fact
PDF
Eclipse Paho Progress Report - EclipseCon 2012
PDF
Focus Group Open Source 28.4.2010 Paolo Maresca
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
Next Generation Development Infrastructure with the Maven Enterprise Stack
Eclipse & java based modeling platforms for smart phone
Automating the consumption of Eclipse for internal use
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
Sleep Peacefully as Maven Tycho Builds your Product
Yoxos 5 to assist with bugday
Brane.Storm
Keynote de Mike Milinkovich
Eclipse IDE, 2019.09, Java Development
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
What's new in p2 (2009)?
Pde build
Eclipse Transformer
2018.11 eclipse overview (japan meeting)
Web-based development with Orion and Flux (APIcon 2014)
Tuscany : Applying OSGi After The Fact
Eclipse Paho Progress Report - EclipseCon 2012
Focus Group Open Source 28.4.2010 Paolo Maresca
Ad

Recently uploaded (20)

PDF
Modernizing your data center with Dell and AMD
PDF
Empathic Computing: Creating Shared Understanding
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
MYSQL Presentation for SQL database connectivity
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
A Presentation on Artificial Intelligence
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Encapsulation theory and applications.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
DOCX
The AUB Centre for AI in Media Proposal.docx
Modernizing your data center with Dell and AMD
Empathic Computing: Creating Shared Understanding
Dropbox Q2 2025 Financial Results & Investor Presentation
MYSQL Presentation for SQL database connectivity
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Unlocking AI with Model Context Protocol (MCP)
A Presentation on Artificial Intelligence
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Encapsulation theory and applications.pdf
Machine learning based COVID-19 study performance prediction
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
The AUB Centre for AI in Media Proposal.docx

Tycho - Building plug-ins with Maven

  • 1. Tycho Building Eclipse plug-ins with Maven Pascal Rapicault, Sonatype Tycho enthusiast 1 Transforming Software Development
  • 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
  • 6. Real life demo 6 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
  • 10. Step-by-step build 10 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
  • 12. Thanks for attending this session 12 Transforming Software Development
  • 13. Links • Project homepage http://eclipse.org/tycho • Currently the codebase: • https://github.com/sonatype/sonatype-tycho • Users and development mailing lists: • http://dev.eclipse.org/mailman/listinfo/tycho-user • http://dev.eclipse.org/mailman/listinfo/tycho-dev • Bugs: • https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Tycho • Example from this session • https://github.com/jsievers/tycho-demo • Reference card • https://docs.sonatype.org/display/TYCHO/Tycho+reference+card 13 Transforming Software Development

Editor's Notes