2. 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
Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0 2.11.2011
4. 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
Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0 2.11.2011
5. 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 :-)
Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0 2.11.2011
6. 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)
Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0 2.11.2011
7. Characteristics – Part 3
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
Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0 2.11.2011
8. Where is Tycho?
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
Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0 2.11.2011
9. Contributors & Users
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
Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0 2.11.2011
10. Part 2: Hands-on Tutorial
Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0 2.11.2011
11. Hands-on Exercises
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
Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0 2.11.2011
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) 2011 SAP AG and others. Licensed under EPL v1.0 2.11.2011
Editor's Notes
Limited support: build.properties, *.target files (but no longer different interpretation)Dependencies: OSGi Manifest Only = manifest first; dependencies in POM ignored/special semantics
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)