building eclipse plugins and rcp applications with tycho
TRANSCRIPT
BUILDING ECLIPSE PLUG-INS AND RCP APPLICATIONS WITH TYCHO
Tobias Oberlies & Jan Sievers, SAP AG
Outline
Part 1: Introduction What is Tycho?
Re-uses PDE Metadata and Concepts Integrates with Maven Speaks p2
Who & where is Tycho
Part 2: Hands-on Tutorial Building an RCP application with Tycho
2.11.2011Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0
Part 1: Introduction
2.11.2011Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0
What is Tycho?
Tycho is a Maven extension for building Eclipse plug-ins/OSGi bundles Features p2 Repositories RCP Applications
Tycho runs JUnit tests in an OSGi runtime
2.11.2011Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0
Characteristics – Part 1
Tycho re-uses PDE metadata files OSGi manifest (META-INF/MANIFEST.MF) build.properties feature.xml site.xml/category.xml *.product files *.target files
Tycho re-uses PDE concepts Target platform – but there is one per
project :-)2.11.2011
Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0
Characteristics – Part 2
Tycho runs like normal Maven builds 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 model Inject compile class-path (approximation)
2.11.2011Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0
Tycho speaks p2 Retrieves dependencies from p2 repositories Produces p2 repositories
Tycho is based on p2 Test runtime is test bundle plus dependencies
(resolved with p2) Original p2 metadata is preserved – no re-
publishing
Note: Some legacy parts are not “p2 natives” eclipse-update-site, eclipse-application
Characteristics – Part 3
2.11.2011Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0
Tycho is an incubator project at Eclipse Tycho sources are at Eclipse since
September 2011 Thanks to Wayne Beaton for paving our way
Documentation: wiki.eclipse.org/Tycho Mailing lists: tycho-user, tycho-dev Issue tracker: Bugzilla
Tycho 0.13.0 is available from Maven central
Where is Tycho?
2.11.2011Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0
Committers Tobias Oberlies (SAP AG) Jan Sievers (SAP AG) Igor Fedorenko (Sonatype Inc.)
Recent contributions from SAP AG, Inventage AG, and others
Users EGit, m2eclipse, CDT, JBoss tools, ... ~45 threads/month on tycho-users
Contributors & Users
2.11.2011Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0
Part 2: Hands-on Tutorial
2.11.2011Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0
Step by step we will set up a typical Tycho build for an RCP application: Create a Hello World RCP plugin Add unit tests Add a feature Create a p2 repository Add a product Use a target file
Hands-on Exercises
2.11.2011Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0
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
Hands-On Setup
2.11.2011Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0