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

What's hot

Discovering the p2 API
Discovering the p2 APIDiscovering the p2 API
Discovering the p2 API
Pascal Rapicault
 
Understanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profitUnderstanding and extending p2 for fun and profit
Understanding and extending p2 for fun and profit
Pascal Rapicault
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
Danilo Pianini
 
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
UdoHafermann
 
Managing Your Runtime With P2
Managing Your Runtime With P2Managing Your Runtime With P2
Managing Your Runtime With P2Pascal Rapicault
 
p2, modular provisioning for OSGi
p2, modular provisioning for OSGip2, modular provisioning for OSGi
p2, modular provisioning for OSGi
Pascal Rapicault
 
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Embarcadero Technologies
 
PuppetConf 2016 Moving from Exec to Types and Provides
PuppetConf 2016 Moving from Exec to Types and ProvidesPuppetConf 2016 Moving from Exec to Types and Provides
PuppetConf 2016 Moving from Exec to Types and Provides
Martin Alfke
 
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
Puppet Camp Germany 2020 - Puppet Control Repo and GITPuppet Camp Germany 2020 - Puppet Control Repo and GIT
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
Martin Alfke
 
469-Porting the build system of a commercial RCP Application from Europa to G...
469-Porting the build system of a commercial RCP Application from Europa to G...469-Porting the build system of a commercial RCP Application from Europa to G...
469-Porting the build system of a commercial RCP Application from Europa to G...
gustavoeliano
 
Python on Android with Delphi FMX - The Cross Platform GUI Framework
Python on Android with Delphi FMX - The Cross Platform GUI Framework Python on Android with Delphi FMX - The Cross Platform GUI Framework
Python on Android with Delphi FMX - The Cross Platform GUI Framework
Embarcadero Technologies
 
EEF : Sexy Properties, Wizards and Views - EclipseCon 11
EEF : Sexy Properties, Wizards and Views - EclipseCon 11EEF : Sexy Properties, Wizards and Views - EclipseCon 11
EEF : Sexy Properties, Wizards and Views - EclipseCon 11Chauvin Mariot
 
Streaming in grails
Streaming in grailsStreaming in grails
Streaming in grails
Sandeep Sankaye
 
Linux GUI Applications on Windows Subsystem for Linux
Linux GUI Applications on Windows Subsystem for LinuxLinux GUI Applications on Windows Subsystem for Linux
Linux GUI Applications on Windows Subsystem for Linux
Embarcadero Technologies
 
Eclipse Training - RCP & Industrialization
Eclipse Training - RCP & IndustrializationEclipse Training - RCP & Industrialization
Eclipse Training - RCP & Industrialization
Luca D'Onofrio
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Embarcadero Technologies
 
Software development made serious
Software development made seriousSoftware development made serious
Software development made serious
Danilo Pianini
 
OSGi Versioning And Testing
OSGi Versioning And TestingOSGi Versioning And Testing
OSGi Versioning And Testing
pvanderlei
 
Unit Test Android Without Going Bald
Unit Test Android Without Going BaldUnit Test Android Without Going Bald
Unit Test Android Without Going Bald
David Carver
 
FMXLinux Introduction - Delphi's FireMonkey for Linux
FMXLinux Introduction - Delphi's FireMonkey for LinuxFMXLinux Introduction - Delphi's FireMonkey for Linux
FMXLinux Introduction - Delphi's FireMonkey for Linux
Embarcadero Technologies
 

What's hot (20)

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

Similar to Tycho Tutorial (EclipseCon 2012)

Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
jsievers
 
Developing Rich Clients with the Eclipse 4 Application Platform
Developing Rich Clients with the Eclipse 4 Application PlatformDeveloping Rich Clients with the Eclipse 4 Application Platform
Developing Rich Clients with the Eclipse 4 Application Platform
Kai Tödter
 
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformEclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Tonny Madsen
 
Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview
Lars Vogel
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-ins
Tonny Madsen
 
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugEclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Lars Vogel
 
Simplifying RCP Update and Install
Simplifying RCP Update and InstallSimplifying RCP Update and Install
Simplifying RCP Update and Install
susanfmccourt
 
"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07
KetanPadegaonkar
 
Xebia deploy it
Xebia deploy itXebia deploy it
Xebia deploy it
Ben Laarhoven
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
Niklas Heidloff
 
Sleep Peacefully as Maven Tycho Builds your Product
Sleep Peacefully as Maven Tycho Builds your ProductSleep Peacefully as Maven Tycho Builds your Product
Sleep Peacefully as Maven Tycho Builds your Product
Subramanyam C
 
EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
EVOLVE'15 | Enhance |  Bob O'Conner & Kevin Nenning | Capturing Existing Cont...EVOLVE'15 | Enhance |  Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
EVOLVE'15 | Enhance | Bob O'Conner & Kevin Nenning | Capturing Existing Cont...
Evolve The Adobe Digital Marketing Community
 
AEM Evernote Sync
AEM Evernote SyncAEM Evernote Sync
AEM Evernote Sync
Kevin Nennig
 
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejenIDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen
Tonny Madsen
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
Cédric Brun
 
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
mfrancis
 
javagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platformjavagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platform
Tonny Madsen
 
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
Tonny Madsen
 
What's new in p2 (2009)?
What's new in p2 (2009)?What's new in p2 (2009)?
What's new in p2 (2009)?
Pascal Rapicault
 

Similar to Tycho Tutorial (EclipseCon 2012) (20)

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

Recently uploaded

State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 

Recently uploaded (20)

State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 

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

  1. Tycho uses JDT compiler – respects package visibility rules (export package)
  2. Limited support: build.properties, *.target files (but no longer different interpretation)Dependencies: OSGi Manifest Only = manifest first; dependencies in POM ignored/special semantics
  3. Tycho is the first Maven plug-in at Eclipse
  4. 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)