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
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
Limited support: build.properties, *.target files (but no longer different interpretation)Dependencies: OSGi Manifest Only = manifest first; dependencies in POM ignored/special semantics
Tycho is the first Maven plug-in at Eclipse
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)