Eclipse PDE and Bndtools

Similar documents
SpringSource Tool Suite 2.7.1

Dependencies, dependencies, dependencies

WSDM = Web Services Distributed Management, an open standard/specified ratified by OASIS

Semantic Versioning A Large Existing Codebase

Introduction to Eclipse

The Actual Real World at EclipseCon/ALM

m2e 1.2 Release Review

Eclipse Packaging Project

Index. Symbols. /**, symbol, 73 >> symbol, 21

Eclipse SOA Tooling Platform: Project Overview. An Overview of the Eclipse STP (SOA Tooling Platform) Project

Introduction to Eclipse

Equinox Project 3.6 Release Review

Buckminster. Ganymede Review. May, Cloudsmith Inc - Made available under the Eclipse Public License.

Using the Plug in Development Environment

From Europa to Ganymede: Eclipse Packaging and Ganymatic

Eclipse Project 3.6 Release Review

Tuscany: Applying OSGi modularity after the fact

In order to support developers, there needs to be a number of tools available which may be involved in the ultimate solution.

e4 Project 0.9 Release Review

Eclipse project update by the Eclipse project PMC March 11 th 2008

Release Notes June 15, Date: 15-Jun :49 URL:

SpringSource Tool Suite M2

Christopher Frost Virgo Committer Martin Lippert Lead, Spring Development Tools SpringSource, a division of VMware 3rd November 2011

Tools for mobile Linux Release Review Dec 2009

Dali JPA Tools Project Graduation Review

Collaboration in Teams: Simulink Projects Demonstration

IBM. IBM WebSphere Application Server Migration Toolkit. WebSphere Application Server. Version 9.0 Release

IBM C Rational Functional Tester for Java. Download Full Version :

This presentation is for informational purposes only and may not be incorporated into a contract or agreement.

IBM Workplace Client Technology API Toolkit

About Tom. CEO BestSolution Systemhaus GmbH. Eclipse Committer. Platform UI EMF. Projectlead: UFaceKit, Nebula. Member of the Architectual Council

The Harmony Framework.

AppDev StudioTM 3.2 SAS. Migration Guide

Yoda. Agile Project Management with GitHub. Jens Vedel Markussen, Engineering Manager Hewlett Packard Enterprise

SOA-14: Continuous Integration in SOA Projects Andreas Gies

CONFIGURATION AS DEPENDENCY. Managing Drupal 8 Configuration with Git and Composer

EGit/Gerrit Hands-on training #1: Installation and Configuration

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation

form layout - we will demonstrate how to add your own custom form extensions in to form layout

Module 11 Setting up Customization Environment

Adobe Experience Manager

Eclipse Platform Rise and Shine Javaland 2016

Getting to the Next Level with Eclipse Concierge

mimacom & LiferayDXP Campaign

SpringSource Tool Suites M3

OSGi and Spring Data for simple (Web) Application Development

CICS Explorer the New Frontier

Breaking Apart the Monolith with Modularity and Microservices CON3127

Europe on a Disk Geodata Processing with Eclipse and OSGi. Harald Wellmann 10 Nov 2008

Snapshot Best Practices: Continuous Integration

Infor LN Studio Application Development Guide

First Steps in RCP. Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany. February 19th, 2009

Modularity in Java 9. Balázs Lájer Software Architect, GE HealthCare. HOUG Oracle Java conference, 04. Apr

DAVE TM & DAVE TM SDK

Buckminster. Helios Review. May, Cloudsmith Inc - Made available under the Eclipse Public License.

Table of Contents. 1 Introduction Downloads Eclipse SDK Installation Eclipse Workspace Eclipse Preferences...

Workplace Client Technology, Micro Edition. WCTME Enterprise Offering Application Developer s Guide

Developing Eclipse Rich-Client Applications Tutorial

IBM Application Development with IBM WebSphere Studio, V5.0. Download Full Version :

Powered by. These slides are powered by Open Source softwares : Debian GNU Linux Beamer LaTeX mode LaTeX Emacs. Context. Last night OSGi saved my life

ECF 3.0 Release Review

Building Java Persistence API Applications with Dali 1.0 Shaun Smith

The p2 Provisioning Platform. Eclipse European Summit - Ludwigsburg. Oct 27-29, 2009 Henrik Lindberg, Cloudsmith Inc

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

I Got My Mojo Workin'

A Software Developing Environment for Earth System Modeling. Depei Qian Beihang University CScADS Workshop, Snowbird, Utah June 27, 2012

SpringSource Tool Suites 3.0.0

CPW AutoGrader. CSCI 370 Field Session 2016 June 20, Client: Christopher Painter Wakefield

BPMN modeler project Creation review. Wednesday, Oct. 29 8am PT. Feedback and communication: eclipse.bpmn-modeler newsgroup

Product Features. Web-based e-learning Authoring

1. Installing R4E 1. 1) Provision Software Sites 2. 2) Install Version Control System Features 3. 3) Install R4E feature 4. 4) Install Versions

B. Assets are shared-by-copy by default; convert the library into *.jar and configure it as a shared library on the server runtime.

Developing Add-Ins for ArcGIS Pro (.NET) Toronto Esri Canada UC Presented by: Gandhar Wazalwar & Kern Ranjitsingh October 11, 2018

Eclipse and Java 8. Daniel Megert Platform and JDT Lead Eclipse PMC Member IBM Rational Zurich Research Lab

eclipse rich ajax platform (rap)

IntelliJ IDEA, the most intelligent Java IDE

Introducing EclipseLink: The Eclipse Persistence Services Project

An Integrated Approach to Managing Windchill Customizations. Todd Baltes Lead PLM Technical Architect SRAM

Harmony Quick Upgrade Guide

Leverage Rational Application Developer v8 to develop OSGi application and test with Websphere Application Server v8

HPE Security Fortify Plugins for Eclipse Software Version: Installation and Usage Guide

Eclipse 4 Eclipse Day Toulouse 24 mai 2012

Call: Hyperion Planning Course Content:35-40hours Course Outline Planning Overview

EMF Europa Simultaneous Release

Eclipse SOA Tools Platform Project

SAS AppDev Studio TM 3.4 Eclipse Plug-ins. Migration Guide

Publish Joomla! Article

... SysML version SNAPSHOT Developer Guide.... Eclipse

Collaborate. w/ ArcGIS Runtime SDK for Android

Acceleo Galileo Simultaneous Release

Publish Joomla! Article

Improved Database Development using SQL Compare

Notes/Domino Upgrade Pack 1. Michael Sobczak Senior Lotus Specialist Aktion Associates

Oracle Application Express 5 New Features

Eclipse Project 3.2 Release Review. Eclipse Project PMC

Build and Provision: Two Sides of the Coin We Love to Hate

Eclipse b3. Eclipse Project Creation Review. November, 2009 Henrik Lindberg, Cloudsmith Inc. Project Creation Review

Manual Visual Studio 2010 Web Developer Tools 2012 Professional

EG 4.1. PC-SAS users. for. I C T EG 4.1 for PC-SAS Users. Thursday - May 7 th, 2009

Enter the Gradle Hans Dockter CEO, Gradleware Founder Gradle

Transcription:

An Epic Split between OSGi Tooling Eclipse PDE and Bndtools created by Peter Kirschner for EclipseCon Europe 2014 Seminarräume 1-3 - Wednesday, October 29, 2014-10:30 to 11:05 copyright for Epic Split Theme is with Volvo Trucks printable version 0

About Me name: Peter Kirschner profession: IT software engineer email: peter@kirschners.de twitter: @peterkir github: https://github.com/peterkir/ece2014

Table of contents Motivation Comparison PDE to Bndtools Development Setup & Update Programming Conclusion

Motivation PDE pain points Why bnd/bndtools

PDE pain points dependency management is difficult target horror configuration complex reloading is not fail safe launch configurations what the hell has PDE loaded in the runtime where do these runtime settings come from

Why Bndtools automated import package analysis including versioning powerful OSGi bundle repository management instant Jar bundle creation annotation based Declarative Service implementation

Comparison of PDE and Bndtools Project Layouts IDE Bundle Handling

Project Layouts single/multiple bundles from one project build path on eclipse project level

IDE Bundle Handling PDE creates "virtual bundles" for execution Launches PDE build/export required to create concrete jar files Bndtools creates physical jar file inside generated folder launches execute this jar file inside runtime

Concurrent areas - Mixed-Mode Project Build Path Project Interdependencies PDE depends on BND BND depends on PDE Compiler Settings

Project Build Path PDE projects share a common target high complexity selecting import-packages Bndtools configured for each project reduces number of import-package bnd projects have a precise import-package scope

PDE depends on BND OSGi dev with PDE target BND creates generated/bundle.jar p2 publisher generates p2 repo from bnd jar files include p2 repo in target and reload it

BND depends on PDE BND project depending on PDE bundle PDE feature export/build creating p2 repo obr repo indexing reference and refresh cnf Luckily we don't required this

Synchronize Compile Settings PDE compilation on target <target_prj>/workspace.target <pde_prj>/.classpath <pde_prj>/.settings/org.eclipse.jdt.core.prefs <pde_prj>/meta-inf/manifest.mf -> Bundle-RequiredExecutionEnvironment <pde_prj>/build.properties -> jre.compilation.profile <cnf_prj>/ext/repositories.bnd <bnd_prj>/.classpath <bnd_prj>/.settings/org.eclipse.jdt.core.prefs <bnd_prj>/bnd.bnd Bndtools Synchronize PDE and bnd compilation via import of JDT settings

Development setup Initial Dev Setup Updating Setup or Target Mixed-Mode Helpers

Initial Dev Setup Eclipse SDK to create/update -> bootstrap IDE install IDEfix (eclipse + Bndtools +...) mirror required repos locally IDEfix with eval workspace adapt Bndtools cnf IDEfix product workspace use custom cnf and develop product

bootstrap IDE Update Dev Setup mirror new bndversion and install new IDEfix mirror and index new target repositories launch IDEfix with an new eval workspace eval bnd updates on cnf launch IDEfix with new product workspace compare and configure cnf import your projects

Mixed-Mode Helpers p2 repository mirroring with OBR indexing IDE bootstrap scripts mirror, install, launch templates bnd2pde -> p2 publishing and PDE target creation PDE TargetReloader Plug-in

Development Mixed-Mode Coding

Mixed-Mode After modifications on bnd bundles 1. bnd2pde build 2. target reload required 3. validation via view "TargetPlatform State" Debugging source code editor is showing read-only bnd target bundles editing impossible (uncommon behaviour) open the appropriate source type with Ctrl+Shift+T and CamelCase notation

Coding with Bndtools can leverage the Joy of OSGi

Conclusion Our Migration Progress Migration Digest

Our Migration Progress

Migration Digest Mixed-Mode is hard -> try to migrate fast Defaults are not ideal for Enterprise Environments Bndtools Windows Committers wanted - Windows is special Work is more comprehensible Benefits for us exceeded the tooling problems Migration is feasible, but is not for free!

??? contact me for more information example source on github example project is work in progress

Credits for my suffering colleagues for their valuable feedback and patience in adopting new technologies Peter Kriens, Neil Bartlett, BJ Hargrave and all other bnd/bndtools/bindex commiter and contributors REVEAL.JS - HTML presentations by Hakim El Hattab

Volvo Trucks - Making of... short version (1:16mn) - commercial spot only

BND and Bndtools resources BND Usergroup Source on Github Continuous Builds from Cloudbees website bug reports/source code on GitHub continuous build on cloudbees usergroup in GoogleGroups

standard references OSGi specifications LDAP search filter syntax Semantic Versioning 2.0.0