SlideShare a Scribd company logo
OpenDaylight has Oomph!
and more about useful tooling for ODL developers
This OpenDaylight SDK presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
$ whoami
Michael Vorburger.ch
@vorburger
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
This OpenDaylight SDK presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
1. Why? 4.
2. What? 5.
3. How? 6. Q & A
1.
1.Help - I still have Red X's! (i.e. Eclipse compile errors)
“Eclipse is no longer able to compile OpenDayLight. The reason is three
maven plugins which are used by OpenDayLight but are not integrated
into Eclipse: maven-plugin-plugin, karaf-maven-plugin and maven-
antrun-plugin. This means you will always have Eclipse compile errors in
the project (this could go to up to 100000 errors).
You can use Eclipse for editing easily but to compile the project you
need to open a terminal window and do the compilation (...)”
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
And you just wanted to contribute
your very first open source bug fix
today, not get a black belt in IDE-
ology!
2,278,082 Downloads
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
+10’
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
What’s in it for you?
• git clone, import
• Working Set (dyn)
• MAGIC (m2e)
• 20+ Plugins
• 20+ Preferences
• YANG Editor
• Goodies
YANG IDE
• Builder
• Folding
• Validation
• Doc Hover
• Formatting
• Highlighting
https://github.com/xored/yang-ide/wiki/Features
• Code Completion
• Comment Toggle
• Navigation (F3)
• Templates
• Outline
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
Eclipse Tips
• Don’t disable Auto Build
• No separate workspaces
• Red? Alt-F5 (mvn), not clean
• If too much auto. rebuilding?
Consider closing projects.
(Note: Open/Close is also
available on Working Sets.)
FYI: ODL projects needed
adjustments to previously
done M2E lifecycle mapping,
for correct in-IDE build. Your
project’s pom.xml may also
need tweaks; raise it on dev
list, or IRC/email me, if
unclear.
Code Quality (IDE?)
Bug prevention (incl. security);
uniformity lowers friction
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
•
•
•
•
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
•
•
•
•
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
1. mvn [-o] clean install 7:41 min
2. mvn [-o] -Pq install 1:16 min
-Pq
mvn -Pq install skips:
• Tests compilation
• Unit tests running
• Karaf features testing
• Integration tests running
• Coverage instrumentation
(Jacoco)
• FindBugs analysis
• Checkstyle analysis
• JavaDoc generation
• Source JAR building
• Maven site building
• Invoker, Enforcer
https://git.opendaylight.org/gerrit/#/c/40245/
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
bundle:watch *
Shift-Alt-X-M
-Pq -o -DaddInstallRepositoryPath=
-Pq = Quick. This ^^^ is another Q..
https://git.opendaylight.org/gerrit/#/c/40520/
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
What NeXT ?
• HOT
• WS Build Performance?
• Checkstyle: ++Adoption;
(incl. refinements, if needed)
• FindBugs? Null analysis?
• Bndtools? The OSGi IDE:
• Instant bundle JAR builder
• Semantic Versioning, in IDE...
• Launchers for lightweight in-
container FAST OSGi integration
testing (Karaf?)
• bnd.bnd ⇐ pom.xml (mvn?)
bnd-based; ODL already uses,
via maven-bundle-plugin.
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
BACKUP SLIDES
Not used in the 30’ presentation (too much)
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
•
•
•
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
•
•
•
•
VS JVM hot code replacement (HCR), with karaf -debug?
1. Limitations! Really only swaps method bodies.
2. WS vs. JAR out-of-sync
Others? See list on https://github.com/vorburger/hotea ..
IMHO, simple bundle classes reload is best.
OSGi is dynamic! (Theory VS Practice)

More Related Content

PPTX
OpenDaylight Developer Experience 2.0
PPTX
Spring Testing, Fight for the Context
PDF
Writing Commits for You, Your Friends, and Your Future Self
PDF
Architecting the Future: Abstractions and Metadata - STL SilverLinings
PDF
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
PDF
Exploring the GitHub Service Universe
PDF
You Want to Kubernetes? You MUST Know Containers!
PDF
Implementing Microservices with Jakarta EE and MicroProfile
OpenDaylight Developer Experience 2.0
Spring Testing, Fight for the Context
Writing Commits for You, Your Friends, and Your Future Self
Architecting the Future: Abstractions and Metadata - STL SilverLinings
Automated Virtualized Testing (AVT) with Docker, Kubernetes, WireMock and Gat...
Exploring the GitHub Service Universe
You Want to Kubernetes? You MUST Know Containers!
Implementing Microservices with Jakarta EE and MicroProfile

What's hot (20)

PPTX
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
PDF
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
PDF
Managing dependencies with gradle
PDF
Architecting The Future - WeRise Women in Technology
PDF
(Declarative) Jenkins Pipelines
PDF
Architecting the Future: Abstractions and Metadata - All Things Open
PDF
Testing with JUnit 5 and Spring
PDF
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
PPTX
Automating the Quality
PPTX
Continuous Integration With Jenkins Docker SQL Server
PDF
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
PDF
Webinar: Code Faster on Kubernetes
PDF
Android with dagger_2
PPTX
Bytecode manipulation with Javassist for fun and profit
PDF
Using Docker Containers to Improve Reproducibility in Software and Web Engine...
PDF
PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...
PPTX
Kubernetes
PDF
Functional Reactive Programming in the Netflix API
PDF
SBG Infrastructure Tools
PDF
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Managing dependencies with gradle
Architecting The Future - WeRise Women in Technology
(Declarative) Jenkins Pipelines
Architecting the Future: Abstractions and Metadata - All Things Open
Testing with JUnit 5 and Spring
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
Automating the Quality
Continuous Integration With Jenkins Docker SQL Server
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Webinar: Code Faster on Kubernetes
Android with dagger_2
Bytecode manipulation with Javassist for fun and profit
Using Docker Containers to Improve Reproducibility in Software and Web Engine...
PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...
Kubernetes
Functional Reactive Programming in the Netflix API
SBG Infrastructure Tools
Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP
Ad

Similar to OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans (15)

PDF
Maven, Eclipse and OSGi Working Together - Carlos Sanchez
PDF
Adopting the Maven Nature in Papyrus Source Projects
PPTX
PDE builds or Maven
PDF
Uberconf 10
PDF
OSGi for outsiders - Milen Dyankov
PDF
Moved to https://slidr.io/azzazzel/osgi-for-outsiders
PDF
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
PPT
Maven, Eclipse And OSGi Working Together
PDF
Tuscany : Applying OSGi After The Fact
PDF
How to become an Eclipse committer in 20 minutes and fork the IDE
PDF
Eclipse IDE, 2019.09, Java Development
PDF
Использование maven для сборки больших модульных c++ проектов на примере Odin...
PDF
ICONUK 2015 - Gradle Up!
PPT
Introduction to Software Build Technology
PDF
OSGi from the Trenches- Painless Server Side Development - Magnus Jungsbluth ...
Maven, Eclipse and OSGi Working Together - Carlos Sanchez
Adopting the Maven Nature in Papyrus Source Projects
PDE builds or Maven
Uberconf 10
OSGi for outsiders - Milen Dyankov
Moved to https://slidr.io/azzazzel/osgi-for-outsiders
10 clues showing that you are doing OSGi in the wrong manner - Jerome Moliere
Maven, Eclipse And OSGi Working Together
Tuscany : Applying OSGi After The Fact
How to become an Eclipse committer in 20 minutes and fork the IDE
Eclipse IDE, 2019.09, Java Development
Использование maven для сборки больших модульных c++ проектов на примере Odin...
ICONUK 2015 - Gradle Up!
Introduction to Software Build Technology
OSGi from the Trenches- Painless Server Side Development - Magnus Jungsbluth ...
Ad

More from Michael Vorburger (9)

PDF
Never too young for Open Source - Red Hat summit in Boston 2017.5
PPTX
Meet the Eclipse SmartHome powered Mars Rover
PDF
The End of the world as we know it - AKA your last NullPointerException $1B b...
ODP
2012 Mifos Update at Open World Forum: Ending Poverty One Line of Code at a Time
PPTX
Mifos: Ending Poverty One Line of Code at a Time
ODP
Ending poverty with software using globally distributed teams to tackle diff...
PPT
Pragmatic Model Driven Development using openArchitectureWare
PPT
JDO Presentation given at Java User Group Switzerland (JUGS) on 31.03.05
PDF
Mifos: Ending Poverty One Line of Code at a Time (Jazoon 2010)
Never too young for Open Source - Red Hat summit in Boston 2017.5
Meet the Eclipse SmartHome powered Mars Rover
The End of the world as we know it - AKA your last NullPointerException $1B b...
2012 Mifos Update at Open World Forum: Ending Poverty One Line of Code at a Time
Mifos: Ending Poverty One Line of Code at a Time
Ending poverty with software using globally distributed teams to tackle diff...
Pragmatic Model Driven Development using openArchitectureWare
JDO Presentation given at Java User Group Switzerland (JUGS) on 31.03.05
Mifos: Ending Poverty One Line of Code at a Time (Jazoon 2010)

Recently uploaded (20)

PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Introduction to Artificial Intelligence
PPTX
history of c programming in notes for students .pptx
PDF
System and Network Administration Chapter 2
PDF
Digital Strategies for Manufacturing Companies
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
System and Network Administraation Chapter 3
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Transform Your Business with a Software ERP System
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
AI in Product Development-omnex systems
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
ai tools demonstartion for schools and inter college
ManageIQ - Sprint 268 Review - Slide Deck
Design an Analysis of Algorithms II-SECS-1021-03
Introduction to Artificial Intelligence
history of c programming in notes for students .pptx
System and Network Administration Chapter 2
Digital Strategies for Manufacturing Companies
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
System and Network Administraation Chapter 3
VVF-Customer-Presentation2025-Ver1.9.pptx
Design an Analysis of Algorithms I-SECS-1021-03
Transform Your Business with a Software ERP System
How to Migrate SBCGlobal Email to Yahoo Easily
Which alternative to Crystal Reports is best for small or large businesses.pdf
CHAPTER 2 - PM Management and IT Context
How to Choose the Right IT Partner for Your Business in Malaysia
AI in Product Development-omnex systems
Wondershare Filmora 15 Crack With Activation Key [2025
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
ai tools demonstartion for schools and inter college

OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans

  • 1. OpenDaylight has Oomph! and more about useful tooling for ODL developers
  • 2. This OpenDaylight SDK presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. $ whoami Michael Vorburger.ch @vorburger
  • 4. This OpenDaylight SDK presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. 1. Why? 4. 2. What? 5. 3. How? 6. Q & A
  • 5. 1.
  • 6. 1.Help - I still have Red X's! (i.e. Eclipse compile errors) “Eclipse is no longer able to compile OpenDayLight. The reason is three maven plugins which are used by OpenDayLight but are not integrated into Eclipse: maven-plugin-plugin, karaf-maven-plugin and maven- antrun-plugin. This means you will always have Eclipse compile errors in the project (this could go to up to 100000 errors). You can use Eclipse for editing easily but to compile the project you need to open a terminal window and do the compilation (...)”
  • 8. And you just wanted to contribute your very first open source bug fix today, not get a black belt in IDE- ology!
  • 14. What’s in it for you? • git clone, import • Working Set (dyn) • MAGIC (m2e) • 20+ Plugins • 20+ Preferences • YANG Editor • Goodies
  • 15. YANG IDE • Builder • Folding • Validation • Doc Hover • Formatting • Highlighting https://github.com/xored/yang-ide/wiki/Features • Code Completion • Comment Toggle • Navigation (F3) • Templates • Outline
  • 17. Eclipse Tips • Don’t disable Auto Build • No separate workspaces • Red? Alt-F5 (mvn), not clean • If too much auto. rebuilding? Consider closing projects. (Note: Open/Close is also available on Working Sets.) FYI: ODL projects needed adjustments to previously done M2E lifecycle mapping, for correct in-IDE build. Your project’s pom.xml may also need tweaks; raise it on dev list, or IRC/email me, if unclear.
  • 18. Code Quality (IDE?) Bug prevention (incl. security); uniformity lowers friction
  • 31. 1. mvn [-o] clean install 7:41 min 2. mvn [-o] -Pq install 1:16 min
  • 32. -Pq mvn -Pq install skips: • Tests compilation • Unit tests running • Karaf features testing • Integration tests running • Coverage instrumentation (Jacoco) • FindBugs analysis • Checkstyle analysis • JavaDoc generation • Source JAR building • Maven site building • Invoker, Enforcer https://git.opendaylight.org/gerrit/#/c/40245/
  • 34. bundle:watch * Shift-Alt-X-M -Pq -o -DaddInstallRepositoryPath= -Pq = Quick. This ^^^ is another Q.. https://git.opendaylight.org/gerrit/#/c/40520/
  • 36. What NeXT ? • HOT • WS Build Performance? • Checkstyle: ++Adoption; (incl. refinements, if needed) • FindBugs? Null analysis? • Bndtools? The OSGi IDE: • Instant bundle JAR builder • Semantic Versioning, in IDE... • Launchers for lightweight in- container FAST OSGi integration testing (Karaf?) • bnd.bnd ⇐ pom.xml (mvn?) bnd-based; ODL already uses, via maven-bundle-plugin.
  • 38. BACKUP SLIDES Not used in the 30’ presentation (too much)
  • 50. • • • • VS JVM hot code replacement (HCR), with karaf -debug? 1. Limitations! Really only swaps method bodies. 2. WS vs. JAR out-of-sync Others? See list on https://github.com/vorburger/hotea .. IMHO, simple bundle classes reload is best. OSGi is dynamic! (Theory VS Practice)