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
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)