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


 Part 2: Hands-on Tutorial – 1:30 pm – 4:00 pm
     Building an e4 RCP application with Tycho




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




Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   26.03.2012
What is Tycho?
 A manifest-first way to build...
       Eclipse plug-ins/OSGi bundles
       Features
       p2 Repositories
       RCP Applications
...with Maven




Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   26.03.2012
Tycho and Maven
 Tycho provides a maven build extension and several
  maven build plug-ins
 Maven drives the build process using the project object
  model (pom.xml)
 Tycho can be combined with other Maven plug-ins
     QA tools: FindBugs, Checkstyle, PMD, ...
     Code generators
     ...
 Tycho integrates with Maven
     Follow conventions for build output folder
     Inject OSGi dependencies into Maven dependency model
     Inject source folders and compile class-path
Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   26.03.2012
Tycho and PDE
 Tycho re-uses PDE metadata files
       OSGi bundle manifest (META-INF/MANIFEST.MF)
       build.properties
       feature.xml
       site.xml/category.xml
       *.product files
       *.target files
 You can continue using PDE UI tools

Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   26.03.2012
Tycho and p2
 Tycho is a p2 artifact/metadata consumer and
  producer
     Resolves dependencies against p2 repositories
     Produces p2 repositories
 Think of Tycho as a „Maven build frontend
  with a p2 repository backend“




Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   26.03.2012
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
 Tycho 0.14.1 is available from Maven central



Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   26.03.2012
Contributors & Users
 Committers
     Igor Fedorenko (Sonatype Inc.), Lead
     Tobias Oberlies (SAP AG)
     Jan Sievers (SAP AG)
 Various contributions
     Contributor guide
 Users
     EGit, m2eclipse, CDT, CBI, JBoss tools, Sigasi ...
     ~45 threads/month on tycho-users

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




Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   26.03.2012
Hands-on Exercises
 Step by step we will set up a Tycho build for an
  e4 RCP application:
       Create a Hello World RCP plugin
       Add unit tests
       Add a feature
       Create a p2 repository
       Build a product




Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   26.03.2012
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) 2012 SAP AG and others. Licensed under EPL v1.0   26.03.2012
Related Sessions
 Maven/Tycho
     Tycho - still good, bad or ugly ?
     Get ready to fight your technical debt, with Tycho, Sonar, and Jacoco
     M2Eclipse: The collaboration of the Maven & Eclipse Platforms
 p2
     A gentle introduction to p2
     Provisioning & Migration with p2: Case study - The Good, the Bad and the
      Ugly
 ALM
     Best practices for using Hudson as part of your Agile strategy
     How I Learned to Stop Worrying and Love the Build
 e4
     (in parallel) Creating Rich Clients with Eclipse RCP 4.x
     The Eclipse 4 Application Platform explained

Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0                 26.03.2012
Please give feedback!

   1. Sign In: www.eclipsecon.org


   2. Select Session Evaluate


   3. Vote




Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   26.03.2012

More Related Content

PDF
Maven 3 / Tycho
KEY
Tycho - Building plug-ins with Maven
PPTX
Tycho Tutorial EclipseCon 2013
PPTX
Migrating from PDE to Tycho builds
PPTX
Building Eclipse Plugins and RCP applications with Tycho
PPTX
Discovery the p2 API (updated to Indigo)
PPTX
Building Eclipse Plugins with Tycho
PDF
Tips & Tricks for Maven Tycho
Maven 3 / Tycho
Tycho - Building plug-ins with Maven
Tycho Tutorial EclipseCon 2013
Migrating from PDE to Tycho builds
Building Eclipse Plugins and RCP applications with Tycho
Discovery the p2 API (updated to Indigo)
Building Eclipse Plugins with Tycho
Tips & Tricks for Maven Tycho

What's hot (20)

PPTX
Discovering the p2 API
PPT
Understanding and extending p2 for fun and profit
PDF
Continuous Integration
PDF
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
PPT
Managing Your Runtime With P2
PPT
p2, modular provisioning for OSGi
PDF
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
PDF
PuppetConf 2016 Moving from Exec to Types and Provides
PDF
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
PPT
469-Porting the build system of a commercial RCP Application from Europa to G...
PDF
Python on Android with Delphi FMX - The Cross Platform GUI Framework
PDF
EEF : Sexy Properties, Wizards and Views - EclipseCon 11
PDF
Streaming in grails
PDF
Linux GUI Applications on Windows Subsystem for Linux
PPT
Eclipse Training - RCP & Industrialization
PDF
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
PDF
Software development made serious
PPTX
OSGi Versioning And Testing
ODP
Unit Test Android Without Going Bald
PDF
FMXLinux Introduction - Delphi's FireMonkey for Linux
Discovering the p2 API
Understanding and extending p2 for fun and profit
Continuous Integration
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
Managing Your Runtime With P2
p2, modular provisioning for OSGi
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
PuppetConf 2016 Moving from Exec to Types and Provides
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
469-Porting the build system of a commercial RCP Application from Europa to G...
Python on Android with Delphi FMX - The Cross Platform GUI Framework
EEF : Sexy Properties, Wizards and Views - EclipseCon 11
Streaming in grails
Linux GUI Applications on Windows Subsystem for Linux
Eclipse Training - RCP & Industrialization
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Software development made serious
OSGi Versioning And Testing
Unit Test Android Without Going Bald
FMXLinux Introduction - Delphi's FireMonkey for Linux
Ad

Similar to Tycho Tutorial (EclipseCon 2012) (20)

PPTX
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
PDF
Developing Rich Clients with the Eclipse 4 Application Platform
PPT
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
PPTX
Eclipse Overview
PPT
ITU - MDD - Eclipse Plug-ins
PPTX
Eclipse RCP Overview @ Rheinjug
ODP
Simplifying RCP Update and Install
PPT
"Eclipse Application Development" at GNUnify 07
PPTX
Xebia deploy it
PDF
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
PPT
Sleep Peacefully as Maven Tycho Builds your Product
PDF
Sling IDE Tooling
PPTX
EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
PPTX
AEM Evernote Sync
PPT
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
PDF
What the heck is Eclipse Modeling and why should you care !
PPTX
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
PPT
javagruppen.dk - e4, the next generation Eclipse platform
PPT
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
PPT
What's new in p2 (2009)?
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
Developing Rich Clients with the Eclipse 4 Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Overview
ITU - MDD - Eclipse Plug-ins
Eclipse RCP Overview @ Rheinjug
Simplifying RCP Update and Install
"Eclipse Application Development" at GNUnify 07
Xebia deploy it
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
Sleep Peacefully as Maven Tycho Builds your Product
Sling IDE Tooling
EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
AEM Evernote Sync
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
What the heck is Eclipse Modeling and why should you care !
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
javagruppen.dk - e4, the next generation Eclipse platform
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
What's new in p2 (2009)?
Ad

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPT
Teaching material agriculture food technology
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
cuic standard and advanced reporting.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Cloud computing and distributed systems.
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Empathic Computing: Creating Shared Understanding
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Teaching material agriculture food technology
MIND Revenue Release Quarter 2 2025 Press Release
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Review of recent advances in non-invasive hemoglobin estimation
Encapsulation_ Review paper, used for researhc scholars
cuic standard and advanced reporting.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Per capita expenditure prediction using model stacking based on satellite ima...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Cloud computing and distributed systems.
Spectral efficient network and resource selection model in 5G networks
Empathic Computing: Creating Shared Understanding
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Dropbox Q2 2025 Financial Results & Investor Presentation
Diabetes mellitus diagnosis method based random forest with bat algorithm

Tycho Tutorial (EclipseCon 2012)

  • 1. BUILDING ECLIPSE PLUG-INS AND RCP APPLICATIONS WITH TYCHO Jan Sievers & Tobias Oberlies , SAP AG
  • 2. Tutorial Outline  Part 1: Introduction – 1:00 pm – 1:30 pm  Tycho Overview  Part 2: Hands-on Tutorial – 1:30 pm – 4:00 pm  Building an e4 RCP application with Tycho Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 26.03.2012
  • 3. Part 1: Introduction Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 26.03.2012
  • 4. What is Tycho?  A manifest-first way to build...  Eclipse plug-ins/OSGi bundles  Features  p2 Repositories  RCP Applications ...with Maven Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 26.03.2012
  • 5. Tycho and Maven  Tycho provides a maven build extension and several maven build plug-ins  Maven drives the build process using the project object model (pom.xml)  Tycho can be combined with other Maven plug-ins  QA tools: FindBugs, Checkstyle, PMD, ...  Code generators  ...  Tycho integrates with Maven  Follow conventions for build output folder  Inject OSGi dependencies into Maven dependency model  Inject source folders and compile class-path Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 26.03.2012
  • 6. Tycho and PDE  Tycho re-uses PDE metadata files  OSGi bundle manifest (META-INF/MANIFEST.MF)  build.properties  feature.xml  site.xml/category.xml  *.product files  *.target files  You can continue using PDE UI tools Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 26.03.2012
  • 7. Tycho and p2  Tycho is a p2 artifact/metadata consumer and producer  Resolves dependencies against p2 repositories  Produces p2 repositories  Think of Tycho as a „Maven build frontend with a p2 repository backend“ Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 26.03.2012
  • 8. 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  Tycho 0.14.1 is available from Maven central Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 26.03.2012
  • 9. Contributors & Users  Committers  Igor Fedorenko (Sonatype Inc.), Lead  Tobias Oberlies (SAP AG)  Jan Sievers (SAP AG)  Various contributions  Contributor guide  Users  EGit, m2eclipse, CDT, CBI, JBoss tools, Sigasi ...  ~45 threads/month on tycho-users Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 26.03.2012
  • 10. Part 2: Hands-on Tutorial Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 26.03.2012
  • 11. Hands-on Exercises  Step by step we will set up a Tycho build for an e4 RCP application:  Create a Hello World RCP plugin  Add unit tests  Add a feature  Create a p2 repository  Build a product Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 26.03.2012
  • 12. 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) 2012 SAP AG and others. Licensed under EPL v1.0 26.03.2012
  • 13. Related Sessions  Maven/Tycho  Tycho - still good, bad or ugly ?  Get ready to fight your technical debt, with Tycho, Sonar, and Jacoco  M2Eclipse: The collaboration of the Maven & Eclipse Platforms  p2  A gentle introduction to p2  Provisioning & Migration with p2: Case study - The Good, the Bad and the Ugly  ALM  Best practices for using Hudson as part of your Agile strategy  How I Learned to Stop Worrying and Love the Build  e4  (in parallel) Creating Rich Clients with Eclipse RCP 4.x  The Eclipse 4 Application Platform explained Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 26.03.2012
  • 14. Please give feedback! 1. Sign In: www.eclipsecon.org 2. Select Session Evaluate 3. Vote Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 26.03.2012

Editor's Notes

  • #6: Tycho uses JDT compiler – respects package visibility rules (export package)
  • #7: Limited support: build.properties, *.target files (but no longer different interpretation)Dependencies: OSGi Manifest Only = manifest first; dependencies in POM ignored/special semantics
  • #9: Tycho is the first Maven plug-in at Eclipse
  • #10: Contributors: SAP AG – various; Inventage AG – Beat Strasser; plus a couple of small contributionsRecent = last 6 monthsCDT = Eclipse's C/C++ Development ToolingCommercial adoption: SAP OSGi based tools/servers; JBoss tools (large project -> separate talk)