Add this URL to your Eclipse Installation to reach this Solution's Update Site.
OSGi Declarative Services offer a powerful mechanism for developing complex, service-oriented applications. However, Eclipse PDE tooling to support this functionality has been lacking.
This project delivers an Eclipse plugin with the ability to automatically generate and update DS Component Definition files from appropriately annotated source code. It does this without adding any custom builders to your project. In addition to generating/updating the descriptor files it also maintains the bundle's MANIFEST.MF and build.properties file.
A public p2 repository with this feature is available at http://download.eclipticalsoftware.com/updates/.
The functionality is enabled by default. To disable and/or change the default descriptor folder, go to Preferences -> DS Annotations.
Individual projects may override these settings in the project's Properties -> DS Annotations property page.
Make sure package org.osgi.service.component.annotations is in your PDE Plug-in project's classpath* and annotate your component implementation classes with @Component and related annotations. The DS Annotations Support plug-in will do the rest.
Note that the descriptor files generated from source annotations are overwritten on every source change; however, manually created descriptor files (i.e., those that are not generated from annotated classes) are left unchanged. Thus it is possible to combine automated generation with manually created and maintained descriptors.
* There are several ways to make DS annotations available to your code. E.g.,
A. Additional bundle: Add bundle ca.ecliptical.pde.ds.lib under Automated Management of Dependencies in your Plug-in Manifest Editor's Dependencies tab.
B. Extra library: Add the following line to your Plug-in project's build.properties file:
extra.. = platform:/plugin/ca.ecliptical.pde.ds.lib/annotations.jar
jars.extra.classpath = platform:/plugin/ca.ecliptical.pde.ds.lib/annotations.jar
See PDE documentation for more details.
C. Import package: In your Plug-in Manifest Editor's Dependencies tab import package org.osgi.service.component.annotations and mark it as optional. This is the least preferred option as it unnecessarily modifies your bundle's runtime classpath (in META-INF/MANIFEST.MF).
This software is made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html.
Unsuccessful Installs in the last 7 Days:0
By adding the following code below to your website you will be able to add an install button for Declarative Services Annotations Support.HTML Code:
Submitted by Stefan Häusler on July 10, 2015 - 07:41
first of all, thanks for this useful plugin, we used it a lot in the past. Recently, we tried to build a new Eclipse Development environment based on Mars and were "forced" to upgrade to the new 1.2.5 version. Now, all service @Reference annotations deliver compile errors, as we did not define specific unbind methods.
I am curious why this behaviour has been changed?
Submitted by Peter Nehrer on July 10, 2015 - 17:26
this behavior was added to notify the user that a corresponding unbind method wasn't found for their reference using the default algorithm, which is typically the use-case. This clearly breaks another use-case -- where the unbind method is intentionally omitted.
I have since published an update (v1.2.6) that addresses this through a new preference -- you can suppress this particular validation on your project or the entire workspace.
Back to the top