building eclipse plugins and rcp applications with tycho

12
BUILDING ECLIPSE PLUG- INS AND RCP APPLICATIONS WITH TYCHO Tobias Oberlies & Jan Sievers, SAP AG

Upload: jsievers

Post on 13-May-2015

3.885 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Building Eclipse Plugins and RCP applications with Tycho

BUILDING ECLIPSE PLUG-INS AND RCP APPLICATIONS WITH TYCHO

Tobias Oberlies & Jan Sievers, SAP AG

Page 2: Building Eclipse Plugins and RCP applications with Tycho

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

Page 3: Building Eclipse Plugins and RCP applications with Tycho

Part 1: Introduction

2.11.2011Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0

Page 4: Building Eclipse Plugins and RCP applications with Tycho

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

Page 5: Building Eclipse Plugins and RCP applications with Tycho

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

Page 6: Building Eclipse Plugins and RCP applications with Tycho

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

Page 7: Building Eclipse Plugins and RCP applications with Tycho

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

Page 8: Building Eclipse Plugins and RCP applications with 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

Where is Tycho?

2.11.2011Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0

Page 9: Building Eclipse Plugins and RCP applications with Tycho

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

Page 10: Building Eclipse Plugins and RCP applications with Tycho

Part 2: Hands-on Tutorial

2.11.2011Copyright (c) 2011 SAP AG and others. Licensed under EPL v1.0

Page 11: Building Eclipse Plugins and RCP applications with Tycho

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

Page 12: Building Eclipse Plugins and RCP applications with Tycho

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