migrating from pde to bndtools in practice meet the
play

Migrating from PDE to Bndtools in Practice Meet The Speakers 2 - PowerPoint PPT Presentation

Migrating from PDE to Bndtools in Practice Meet The Speakers 2 Jochen Hiller Developer Evangelist Deutsche Telekom AG Seasoned Java Developer OSGi and IoT Evangelist Eclipse Concierge Committer Amit Kumar Mondal Software Engineer


  1. Migrating from PDE to Bndtools in Practice

  2. Meet The Speakers � 2 Jochen Hiller Developer Evangelist Deutsche Telekom AG Seasoned Java Developer OSGi and IoT Evangelist Eclipse Concierge Committer Amit Kumar Mondal Software Engineer Deutsche Telekom AG Passionate Java Developer OSGi and IoT Enthusiast Eclipse Kura Committer

  3. Agenda � 3 01 03 05 Comparison Challenges PDE Pain Points About QIVICON Motivation Get Ready 04 02 06

  4. Agenda � 4 01 About QIVICON

  5. About QIVICON � 5 Eclipse SmartHome based Home Gateway Partner Applications QIVICON Eclipse SmartHome OSGi Framework: OSGi R4.2 JavaSE Embedded 8 Compact 2/3 OS: Linux

  6. Agenda � 6 01 PDE Pain Points About QIVICON 02

  7. PDE Pain Points � 7 How Issue • Target Definition File • Complex Configuration • Tycho • Workaround to add bundles Dependency Management • pom.xml not present in p2 repos • Additional Dependencies • MANIFEST.MF • Semantic Versioning: Manual and Error-Prone Manifest-First Approach • No Automated Generation • .launch • Not reliable • Non-deterministic Behavior Run Configurations • Difficult to maintain

  8. Agenda � 8 01 03 PDE Pain Points About QIVICON Motivation 02

  9. Motivation � 9 Explicit Dependency Management Higher Modularity Better Support of API Maturity based Development Single Workspace leads to Smooth Induction to the Project

  10. Agenda � 10 01 03 Comparison PDE Pain Points About QIVICON Motivation 04 02

  11. Comparison � 11 PDE vs Bndtools PDE Bndtools ❖ Bytecode Based Import Analysis ❖ Instant JAR Creation ❖ Default Annotation Support ❖ Automated Semantic Versioning ❖ One Project Multi Bundles ❖ Default OBR Based Management ❖ Automated Header Generation ❖ Nested Workspace Structure ❖ Custom Project Template Support

  12. Agenda � 12 01 03 05 Comparison PDE Pain Points About QIVICON Motivation Get Ready 04 02

  13. Setting Up - Workspace � 13 Workspaces should be named according to the bundle symbolic names of its projects A single directory with all its sub- Valid if it contains directories and their a cnf file files, similar to a git workspace The advised model is to use a directory with a cnf/build.bnd file

  14. Setting Up - Workspace � 14 Bndtools uses repositories to manage dependencies at build and runtime In Bndtools 3.3, P2 Repository Plugin has been introduced P2 Repository

  15. Setting Up - Workspace � 15 Maven Bnd Repository plugin provides a full interface to any type of Maven repositories (Nexus or Artifactory) Maven Repository

  16. Setting Up - Workspace � 16 runtime.maven Contains a list of coordinates specifying an archive in a Maven revision An archive is a ZIP, POM, JAR, or any other type of file

  17. Setting Up - Workspace � 17 Directory Structure Project Specific Config https://bnd.bndtools.org

  18. Conversion - PDE to Bnd � 18 Control File Conversion Command The command will first parse the manifest to establish the BSN Creates a Bnd project in the provided workspace with the symbolic name

  19. Post Conversion � 19 Generated Descriptor Persist PDE Manifest Automated Analysis Choice of existing MANIFEST Usage should be configurable in Bnd

  20. � 20

  21. Timeline � 21 2018 Ideation Phase for Migration April 2018 Research/Analysis May 2018 Migration Trials June

  22. � 22 Coping with the Current System 2018 Finding Solutions July Finalizing Solutions 2018 August Milestone Set for Migration 2018 Final Migration Early September

  23. Agenda � 23 01 03 05 Comparison Challenges PDE Pain Points About QIVICON Motivation Get Ready 04 02 06

  24. Challenges � 24 Multi-Project Sync Integrating PDE with Bnd Projects together makes Eclipse confused Integration Testing Bnd ignores Fragments but most PDE users write tests in Fragments Complex Infrastructure Bnd cannot easily handle complex maven based infrastructure, needed tweaks, unable to process client certs Windows Environment The development is bit slower on NTFS based systems. Gradle also doesn’t work as efficient as it works in Unix based platforms.

  25. Insider Tips � 25 01 Organize Trainings and Hackathons 02 Adapt Tests during Migration 03 Disable Antivirus Scanning in: 
 Eclipse,Workspace, .m2, .p2, .gradle, .groovy, .bnd, .eclipse 04 Learn BND Commands

  26. Credits � 26 01 Colleagues for Valuable Feedbacks Peter Kriens 02 03 Jan Hendriks Alexander Hoffman 04 05 Benedikt Niehues Bndtools Community 06

  27. � 27

  28. Thank You :)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend