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


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




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




Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   23.10.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   23.10.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   23.10.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   23.10.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   23.10.2012
Tycho and CBI
 Common Build Infrastructure (CBI) is an effort to build
  the eclipse platform with Hudson and Tycho
 Make building eclipse from scratch and on any
  machine easy („mvn clean install“)
     Foster contributions
     Prerequisite for long-term support program
 Eclipse platform build to switch to Tycho soon
 Related talks:
     CBI lessons learned
     OSGi Users‘ Forum tooling workshop on Friday
Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   23.10.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.16.0 is available from Maven central



Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   23.10.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 ...
     Active mailing list tycho-users
     Tycho questions on stackoverflow.com

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




Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   23.10.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
       Use a .target file


Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   23.10.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   23.10.2012
Related Sessions
 Tycho
     Tycho adoption: Lessons learned, tips and tricks from
      the 1st line of front
     Putting P2 into practice: Releasing independent
      products from a shared code base
     Beware: Testing RCP Applications in Tycho can cause
      Serious Harm to your Brain
     A journey with Target Platforms
 Maven
     m2e, an exercise in mixing oil and water
     Kick your Java EE development a notch with m2e-wtp
Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0   23.10.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   23.10.2012

Más contenido relacionado

Similar a Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012

Tycho Tutorial (EclipseCon 2012)
Tycho Tutorial (EclipseCon 2012)Tycho Tutorial (EclipseCon 2012)
Tycho Tutorial (EclipseCon 2012)jsievers
 
Building Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with TychoBuilding Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with Tychojsievers
 
Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013jsievers
 
Building Eclipse Plugins with Tycho
Building Eclipse Plugins with TychoBuilding Eclipse Plugins with Tycho
Building Eclipse Plugins with Tychojsievers
 
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 PlatformKai Tödter
 
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
 
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 PlatformTonny Madsen
 
Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview Lars Vogel
 
Eclipse 40 Labs- Eclipse Summit Europe 2010
Eclipse 40 Labs- Eclipse Summit Europe 2010Eclipse 40 Labs- Eclipse Summit Europe 2010
Eclipse 40 Labs- Eclipse Summit Europe 2010Lars Vogel
 
"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07KetanPadegaonkar
 
DEEP: a user success story
DEEP: a user success storyDEEP: a user success story
DEEP: a user success storyEOSC-hub project
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insTonny Madsen
 
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 ProductSubramanyam C
 
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 platformTonny Madsen
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open SourceAxway Appcelerator
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium TutorialKevin Whinnery
 
Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Etienne Juliot
 

Similar a Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012 (20)

Tycho Tutorial (EclipseCon 2012)
Tycho Tutorial (EclipseCon 2012)Tycho Tutorial (EclipseCon 2012)
Tycho Tutorial (EclipseCon 2012)
 
Building Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with TychoBuilding Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with Tycho
 
Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013Tycho Tutorial EclipseCon 2013
Tycho Tutorial EclipseCon 2013
 
Building Eclipse Plugins with Tycho
Building Eclipse Plugins with TychoBuilding Eclipse Plugins with Tycho
Building Eclipse Plugins with Tycho
 
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
 
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...
 
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
 
Eclipse 40 Labs- Eclipse Summit Europe 2010
Eclipse 40 Labs- Eclipse Summit Europe 2010Eclipse 40 Labs- Eclipse Summit Europe 2010
Eclipse 40 Labs- Eclipse Summit Europe 2010
 
"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07
 
DEEP: a user success story
DEEP: a user success storyDEEP: a user success story
DEEP: a user success story
 
Xebia deploy it
Xebia deploy itXebia deploy it
Xebia deploy it
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-ins
 
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
 
Eclipse summit-2010
Eclipse summit-2010Eclipse summit-2010
Eclipse summit-2010
 
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
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open Source
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
 
Lab (1) installation of python
Lab (1) installation of pythonLab (1) installation of python
Lab (1) installation of python
 
Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...Be serious with sirius your journey from first experimentation to large deplo...
Be serious with sirius your journey from first experimentation to large deplo...
 

Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012

  • 1. BUILDING ECLIPSE PLUG-INS AND RCP APPLICATIONS WITH TYCHO Jan Sievers & Tobias Oberlies , SAP AG
  • 2. Tutorial Outline  Part 1: Introduction – 9:00 – 9:30  Tycho Overview  Part 2: Hands-on Tutorial – 9:30 – 12:30  Building an e4 RCP application with Tycho Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 23.10.2012
  • 3. Part 1: Introduction Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 23.10.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 23.10.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 23.10.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 23.10.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 23.10.2012
  • 8. Tycho and CBI  Common Build Infrastructure (CBI) is an effort to build the eclipse platform with Hudson and Tycho  Make building eclipse from scratch and on any machine easy („mvn clean install“)  Foster contributions  Prerequisite for long-term support program  Eclipse platform build to switch to Tycho soon  Related talks:  CBI lessons learned  OSGi Users‘ Forum tooling workshop on Friday Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 23.10.2012
  • 9. 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.16.0 is available from Maven central Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 23.10.2012
  • 10. 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 ...  Active mailing list tycho-users  Tycho questions on stackoverflow.com Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 23.10.2012
  • 11. Part 2: Hands-on Tutorial Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 23.10.2012
  • 12. 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  Use a .target file Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 23.10.2012
  • 13. 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 23.10.2012
  • 14. Related Sessions  Tycho  Tycho adoption: Lessons learned, tips and tricks from the 1st line of front  Putting P2 into practice: Releasing independent products from a shared code base  Beware: Testing RCP Applications in Tycho can cause Serious Harm to your Brain  A journey with Target Platforms  Maven  m2e, an exercise in mixing oil and water  Kick your Java EE development a notch with m2e-wtp Copyright (c) 2012 SAP AG and others. Licensed under EPL v1.0 23.10.2012
  • 15. 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 23.10.2012

Notas del editor

  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)