6. OSGi challenges
• Duplicate dependencies: OSGi and Maven?
• From where to get these OSGi dependencies?
• No transitive dependencies?
• How to include non-OSGi libraries?
7. Eclipse mavenization
• Download Eclipse distro from:
“${eclipseMirror}/eclipse/technology/epp/downloads…”
• Unpack it to temp dir
• Read manifest of each plugin, calculate dependencies
• Generate POM for each plugin
• Install each plugin to ~/.m2/repository
8. Wuff nowadays
• 8 releases
• 7 contributors
• some features in beta
• some great ideas in the air
• version 1.0 is coming this summer
11. Wuff: Eclipse Bundle
apply plugin: ‘java’
apply plugin: ‘org.akhikhl.wuff.eclipse-bundle’
$ gradle build
Effects:
OSGi manifest is created or merged
‘plugin.xml’ is created or merged
‘Require-Bundle’ converted to Gradle dependencies
Eclipse Bundle JAR is created
12. Wuff: Equinox App
apply plugin: ‘java’
apply plugin: ‘org.akhikhl.wuff.eclipse-equinox-app’
// plugin.xml
<extension id=“app”
point=“org.eclipse.core.runtime.applications”> ...
$ gradle run
Effects:
Equinox configuration is created
“org.eclipse.equinox.launcher.Main” is launched
13. Wuff: Equinox Product
apply plugin: ‘java’
apply plugin: ‘org.akhikhl.wuff.eclipse-equinox-app’
// plugin.xml
<extension id=“app”
point=“org.eclipse.core.runtime.applications”> ...
$ gradle build
Effect:
Self-Contained Equinox App is created in “build/output”
28. Wuff: version 1.0 and beyond
• Resolve OSGi bundles
directly from p2 repos
• More control over
manifest and plugin.xml
generation
• IDE integration
29. Wuff is here for you
https://github.com/akhikhl/wuff
https://github.com/akhikhl/wuff/wiki
at Gradle Plugin Portal
at JCenter
at Maven Central