OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
-
Upload
michael-vorburger -
Category
Software
-
view
352 -
download
3
Transcript of OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
![Page 1: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/1.jpg)
OpenDaylight has Oomph!and more about useful tooling for ODL developers
![Page 2: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/2.jpg)
This OpenDaylight SDK presentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
$ whoamiMichael Vorburger.ch@vorburger
![Page 3: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/3.jpg)
![Page 4: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/4.jpg)
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
![Page 5: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/5.jpg)
1.
![Page 6: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/6.jpg)
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 (...)”
![Page 7: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/7.jpg)
![Page 8: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/8.jpg)
And you just wanted to contribute your very first open source bug fix today, not get a black belt in IDE-ology!
![Page 9: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/9.jpg)
2,278,082 Downloads
![Page 10: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/10.jpg)
![Page 11: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/11.jpg)
![Page 14: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/14.jpg)
What’s in it for you?• git clone, import
• Working Set (dyn)
• MAGIC (m2e)
• 20+ Plugins
• 20+ Preferences
• YANG Editor
• Goodies
![Page 15: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/15.jpg)
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
![Page 16: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/16.jpg)
![Page 17: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/17.jpg)
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.
![Page 18: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/18.jpg)
Code Quality (IDE?)Bug prevention (incl. security); uniformity lowers friction
![Page 19: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/19.jpg)
![Page 20: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/20.jpg)
![Page 21: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/21.jpg)
•••
•
![Page 22: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/22.jpg)
![Page 23: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/23.jpg)
![Page 24: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/24.jpg)
•
•
•
•
![Page 25: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/25.jpg)
![Page 26: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/26.jpg)
![Page 27: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/27.jpg)
![Page 28: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/28.jpg)
![Page 29: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/29.jpg)
![Page 30: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/30.jpg)
![Page 31: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/31.jpg)
1. mvn [-o] clean install 7:41 min
2. mvn [-o] -Pq install 1:16 min
![Page 32: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/32.jpg)
-Pqmvn -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/
![Page 33: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/33.jpg)
![Page 34: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/34.jpg)
bundle:watch *
Shift-Alt-X-M
-Pq -o -DaddInstallRepositoryPath=
-Pq = Quick. This ^^^ is another Q..
https://git.opendaylight.org/gerrit/#/c/40520/
![Page 35: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/35.jpg)
![Page 36: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/36.jpg)
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.
![Page 37: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/37.jpg)
![Page 38: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/38.jpg)
BACKUP SLIDESNot used in the 30’ presentation (too much)
![Page 39: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/39.jpg)
![Page 40: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/40.jpg)
![Page 41: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/41.jpg)
![Page 42: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/42.jpg)
••
•
![Page 43: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/43.jpg)
![Page 44: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/44.jpg)
![Page 45: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/45.jpg)
![Page 46: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/46.jpg)
![Page 47: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/47.jpg)
![Page 48: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/48.jpg)
![Page 49: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/49.jpg)
![Page 50: OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans](https://reader031.fdocuments.in/reader031/viewer/2022030306/586fb9b31a28abe57d8b84e1/html5/thumbnails/50.jpg)
••
•
•
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)