SlideShare a Scribd company logo
BUILDING ECLIPSE PLUG-INS
             AND RCP APPLICATIONS
             WITH TYCHO
25.03.2013   Tobias Oberlies & Jan Sievers, SAP AG
Tutorial Outline
 Part 1: Introduction 9:00 am – 9:30 am
     Tycho Overview


 Part 2: Hands-on Tutorial 9:30 am – 12:00 pm
     Building an e4 RCP application with Tycho




Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0   25.03.2013
Part 1: Introduction




Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0   25.03.2013
What is Tycho?
 Tycho is a Maven extension for building
  Eclipse artifacts
       Eclipse plug-ins/OSGi bundles
       Features
       p2 repositories
       RCP applications/Eclipse distributions




Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0   25.03.2013
Related Technologies

  Plug-in
Development
Environment
   (PDE)
                                                                 Maven
                                                Tycho




    Equinox p2

 Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0    25.03.2013
Maven and Tycho

Maven                                                  Tycho

 mvn clean install                                    mvn clean install
 Packaging types for                                  eclipse-plugin,
  standard artifacts                                    eclipse-feature, …
 Tests run in build                                   eclipse-test-plugin
 Customize build with                                 Most Maven plugins
  additional goals                                      also work in Tycho
  (FindBugs, code                                       projects
  generators, …)
Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0           25.03.2013
Maven and Tycho (cont.)

Maven                                                  Tycho

 Dependencies                                          Dependencies
  declared in pom.xml                                    declared in
                                                         MANIFEST.MF, …




 Maven extension for OSGi/Eclipse artifacts
Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0             25.03.2013
PDE and Tycho
Plug-in Development
Environment (PDE)                                      Tycho

 MANIFEST.MF,                                         Tycho reads PDE
  feature.xml,                                          source files
  build.properties, ...
 Build path according                                 JDT compiler with
  to OSGi manifest                                      OSGi visibility rules
 JUnit plug-in tests                                  eclipse-test-plugin

 Headless build for PDE projects
Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0              25.03.2013
p2 and Tycho

Equinox p2                                             Tycho

 p2 repositories for                                  p2 repositories for
  installation & update                                 resolving build
  of bundles                                            dependencies
 “Publish” artifacts to                               Builds p2 repositories
  p2 repositories                                       with build artifacts
 Installer (“director”)                               tycho-director-plugin

 Maven front-end for p2
Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0             25.03.2013
Where is Tycho?
 Tycho is a Technology incubator project at Eclipse
       Sources are at git.eclipse.org (and mirrored to github)
       Documentation: wiki.eclipse.org/Tycho
       Mailing lists: tycho-user, tycho-dev
       Issue tracker: Bugzilla
       Contributor guide:
        wiki.eclipse.org/Tycho/Contributor_Guide
 Tycho 0.17.0 is available from Maven central


Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0   25.03.2013
Contributors & Users
 Committers
     Jan Sievers (SAP AG)
     Tobias Oberlies (SAP AG)
     Igor Fedorenko (Sonatype Inc.)
 Various contributions
 Users
     Eclipse platform and many other Eclipse projects
          “Common Build Infrastructure” (CBI): Services for Tycho
            adoption at eclipse.org
     Commercial users: JBoss tools, Sigasi, SAP AG, …

Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0        25.03.2013
Part 2: Hands-on Tutorial




Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0   25.03.2013
Hands-on Exercises
 Create and build an Eclipse 4 RCP application
     Create a plug-in with a sample Eclipse 4 RCP
      application
     Add a unit test
     Add a feature
     Create a p2 repository
     Build a distribution with the RCP application




Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0   25.03.2013
Hands-On Setup
 Everything you need for the exercises is provided
  on the USB stick we handed out
 The exercise instructions are fully self-contained
 Start with tutorial/README.html




Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0   25.03.2013
Related Sessions
 Tycho BoF Mon 8:00 pm, Seaport Ballroom B
 Presentations from Tycho users
     Real World: Tycho Tue 5:00 pm, Cityview Ballroom 2
     From Custom Maven Builds to Tycho
      Wed 10:30 am, Back Bay
     Automating the consumption of Eclipse for internal
      use Thu 1:30 pm, Harborview Ballroom 2
 Comparison of build technologies
     Bundle Building Wed 1:30 pm, Beacon Hill 1
Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0   25.03.2013
Please give feedback!

   1. Sign In: www.eclipsecon.org


   2. Select Session Evaluate


   3. Vote




Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0   25.03.2013

More Related Content

PPTX
Tycho Tutorial (EclipseCon 2012)
jsievers
 
PDF
Maven 3 / Tycho
Karsten Thoms
 
PPTX
Migrating from PDE to Tycho builds
Teodor Madan
 
KEY
Tycho - Building plug-ins with Maven
Pascal Rapicault
 
PDF
Tips & Tricks for Maven Tycho
Gunnar Wagenknecht
 
PPTX
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
jsievers
 
PPTX
Discovering the p2 API
Pascal Rapicault
 
PPT
Understanding and extending p2 for fun and profit
Pascal Rapicault
 
Tycho Tutorial (EclipseCon 2012)
jsievers
 
Maven 3 / Tycho
Karsten Thoms
 
Migrating from PDE to Tycho builds
Teodor Madan
 
Tycho - Building plug-ins with Maven
Pascal Rapicault
 
Tips & Tricks for Maven Tycho
Gunnar Wagenknecht
 
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
jsievers
 
Discovering the p2 API
Pascal Rapicault
 
Understanding and extending p2 for fun and profit
Pascal Rapicault
 

What's hot (20)

PPT
p2, modular provisioning for OSGi
Pascal Rapicault
 
PPT
Managing Your Runtime With P2
Pascal Rapicault
 
PDF
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Embarcadero Technologies
 
PDF
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
Martin Alfke
 
PPT
Compare framework
Tomasz Zarna
 
PDF
PuppetConf 2016 Moving from Exec to Types and Provides
Martin Alfke
 
PPTX
swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices ...
Ivan Kravets
 
PDF
Python on Android with Delphi FMX - The Cross Platform GUI Framework
Embarcadero Technologies
 
PDF
Continuous Integration
Danilo Pianini
 
PPT
Eclipse Training - RCP & Industrialization
Luca D'Onofrio
 
PPTX
Solum - OpenStack PaaS / ALM - Austin OpenStack summit
devkulkarni
 
PDF
Solum - OpenStack PaaS / ALM
devkulkarni
 
PDF
Streaming in grails
Sandeep Sankaye
 
PPTX
OSGi Versioning And Testing
pvanderlei
 
PDF
ADDO 2019 DevOps in a containerized world
Martin Alfke
 
PDF
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
mfrancis
 
PDF
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Embarcadero Technologies
 
PDF
Flatpak and AppImage usage on openSUSE
Kukuh Syafaat
 
PDF
Contributing to OpenStack
devkulkarni
 
PDF
Linux GUI Applications on Windows Subsystem for Linux
Embarcadero Technologies
 
p2, modular provisioning for OSGi
Pascal Rapicault
 
Managing Your Runtime With P2
Pascal Rapicault
 
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Embarcadero Technologies
 
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
Martin Alfke
 
Compare framework
Tomasz Zarna
 
PuppetConf 2016 Moving from Exec to Types and Provides
Martin Alfke
 
swampUP: Over-The-Air (OTA) firmware upgrades for Internet of Things devices ...
Ivan Kravets
 
Python on Android with Delphi FMX - The Cross Platform GUI Framework
Embarcadero Technologies
 
Continuous Integration
Danilo Pianini
 
Eclipse Training - RCP & Industrialization
Luca D'Onofrio
 
Solum - OpenStack PaaS / ALM - Austin OpenStack summit
devkulkarni
 
Solum - OpenStack PaaS / ALM
devkulkarni
 
Streaming in grails
Sandeep Sankaye
 
OSGi Versioning And Testing
pvanderlei
 
ADDO 2019 DevOps in a containerized world
Martin Alfke
 
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
mfrancis
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Embarcadero Technologies
 
Flatpak and AppImage usage on openSUSE
Kukuh Syafaat
 
Contributing to OpenStack
devkulkarni
 
Linux GUI Applications on Windows Subsystem for Linux
Embarcadero Technologies
 
Ad

Similar to Tycho Tutorial EclipseCon 2013 (20)

PPTX
Building Eclipse Plugins and RCP applications with Tycho
jsievers
 
PPTX
Building Eclipse Plugins with Tycho
jsievers
 
PPTX
Eclipse Overview
Lars Vogel
 
ODP
Eclipse
Nicola Pedot
 
PPTX
Eclipse RCP Overview @ Rheinjug
Lars Vogel
 
PPT
Sleep Peacefully as Maven Tycho Builds your Product
Subramanyam C
 
ODP
Simplifying RCP Update and Install
susanfmccourt
 
PPT
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Tonny Madsen
 
PPT
What's new in p2 (2009)?
Pascal Rapicault
 
PPT
Maven Introduction
Sandeep Chawla
 
PPT
javagruppen.dk - e4, the next generation Eclipse platform
Tonny Madsen
 
PPT
ITU - MDD - Eclipse Plug-ins
Tonny Madsen
 
PPTX
Apigee deploy grunt plugin.1.0
Diego Zuluaga
 
PPTX
Discovery the p2 API (updated to Indigo)
Pascal Rapicault
 
PDF
stackconf 2022: It’s Time to Debloat the Cloud with Unikraft
NETWAYS
 
PPTX
Codename one
Software Infrastructure
 
PDF
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
jaxLondonConference
 
PDF
Run your Java apps on Cloud Foundry
Andy Piper
 
ODP
OSGi Sticker Shock Eclipse Con 2010
ericjohnson
 
ODP
Plug yourself in and your app will never be the same (2 hour edition)
Mikkel Flindt Heisterberg
 
Building Eclipse Plugins and RCP applications with Tycho
jsievers
 
Building Eclipse Plugins with Tycho
jsievers
 
Eclipse Overview
Lars Vogel
 
Eclipse
Nicola Pedot
 
Eclipse RCP Overview @ Rheinjug
Lars Vogel
 
Sleep Peacefully as Maven Tycho Builds your Product
Subramanyam C
 
Simplifying RCP Update and Install
susanfmccourt
 
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Tonny Madsen
 
What's new in p2 (2009)?
Pascal Rapicault
 
Maven Introduction
Sandeep Chawla
 
javagruppen.dk - e4, the next generation Eclipse platform
Tonny Madsen
 
ITU - MDD - Eclipse Plug-ins
Tonny Madsen
 
Apigee deploy grunt plugin.1.0
Diego Zuluaga
 
Discovery the p2 API (updated to Indigo)
Pascal Rapicault
 
stackconf 2022: It’s Time to Debloat the Cloud with Unikraft
NETWAYS
 
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
jaxLondonConference
 
Run your Java apps on Cloud Foundry
Andy Piper
 
OSGi Sticker Shock Eclipse Con 2010
ericjohnson
 
Plug yourself in and your app will never be the same (2 hour edition)
Mikkel Flindt Heisterberg
 
Ad

Recently uploaded (20)

PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Doc9.....................................
SofiaCollazos
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 

Tycho Tutorial EclipseCon 2013

  • 1. BUILDING ECLIPSE PLUG-INS AND RCP APPLICATIONS WITH TYCHO 25.03.2013 Tobias Oberlies & Jan Sievers, SAP AG
  • 2. Tutorial Outline  Part 1: Introduction 9:00 am – 9:30 am  Tycho Overview  Part 2: Hands-on Tutorial 9:30 am – 12:00 pm  Building an e4 RCP application with Tycho Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013
  • 3. Part 1: Introduction Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013
  • 4. What is Tycho?  Tycho is a Maven extension for building Eclipse artifacts  Eclipse plug-ins/OSGi bundles  Features  p2 repositories  RCP applications/Eclipse distributions Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013
  • 5. Related Technologies Plug-in Development Environment (PDE) Maven Tycho Equinox p2 Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013
  • 6. Maven and Tycho Maven Tycho  mvn clean install mvn clean install  Packaging types for eclipse-plugin, standard artifacts eclipse-feature, …  Tests run in build eclipse-test-plugin  Customize build with Most Maven plugins additional goals also work in Tycho (FindBugs, code projects generators, …) Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013
  • 7. Maven and Tycho (cont.) Maven Tycho  Dependencies  Dependencies declared in pom.xml declared in MANIFEST.MF, …  Maven extension for OSGi/Eclipse artifacts Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013
  • 8. PDE and Tycho Plug-in Development Environment (PDE) Tycho  MANIFEST.MF, Tycho reads PDE feature.xml, source files build.properties, ...  Build path according JDT compiler with to OSGi manifest OSGi visibility rules  JUnit plug-in tests eclipse-test-plugin  Headless build for PDE projects Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013
  • 9. p2 and Tycho Equinox p2 Tycho  p2 repositories for p2 repositories for installation & update resolving build of bundles dependencies  “Publish” artifacts to Builds p2 repositories p2 repositories with build artifacts  Installer (“director”) tycho-director-plugin  Maven front-end for p2 Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013
  • 10. Where is Tycho?  Tycho is a Technology incubator project at Eclipse  Sources are at git.eclipse.org (and mirrored to github)  Documentation: wiki.eclipse.org/Tycho  Mailing lists: tycho-user, tycho-dev  Issue tracker: Bugzilla  Contributor guide: wiki.eclipse.org/Tycho/Contributor_Guide  Tycho 0.17.0 is available from Maven central Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013
  • 11. Contributors & Users  Committers  Jan Sievers (SAP AG)  Tobias Oberlies (SAP AG)  Igor Fedorenko (Sonatype Inc.)  Various contributions  Users  Eclipse platform and many other Eclipse projects  “Common Build Infrastructure” (CBI): Services for Tycho adoption at eclipse.org  Commercial users: JBoss tools, Sigasi, SAP AG, … Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013
  • 12. Part 2: Hands-on Tutorial Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013
  • 13. Hands-on Exercises  Create and build an Eclipse 4 RCP application  Create a plug-in with a sample Eclipse 4 RCP application  Add a unit test  Add a feature  Create a p2 repository  Build a distribution with the RCP application Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013
  • 14. Hands-On Setup  Everything you need for the exercises is provided on the USB stick we handed out  The exercise instructions are fully self-contained  Start with tutorial/README.html Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013
  • 15. Related Sessions  Tycho BoF Mon 8:00 pm, Seaport Ballroom B  Presentations from Tycho users  Real World: Tycho Tue 5:00 pm, Cityview Ballroom 2  From Custom Maven Builds to Tycho Wed 10:30 am, Back Bay  Automating the consumption of Eclipse for internal use Thu 1:30 pm, Harborview Ballroom 2  Comparison of build technologies  Bundle Building Wed 1:30 pm, Beacon Hill 1 Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013
  • 16. Please give feedback! 1. Sign In: www.eclipsecon.org 2. Select Session Evaluate 3. Vote Copyright (c) 2013 SAP AG and others. Licensed under EPL v1.0 25.03.2013

Editor's Notes

  • #7: Packaging types -> declarative build „what to build“ not „how to build“ Use Tycho -> get lots of other tools from the Maven ecosystem for free
  • #8: POM = project object model, main configuration file for a Maven build
  • #12: Eclipse Platform -> probably the most complicated build you can imagine -> CBI project has ported it to Tycho