[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[equinox-dev] dependency on org.osgi.annotation?
- From: Stephan Herrmann <stephan.herrmann@xxxxxxxxx>
- Date: Sun, 03 May 2015 17:40:38 +0200
- Delivered-to: firstname.lastname@example.org
- User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.6.0
I've observed, that JDT has problems working with class file
plus source attachment of org.osgi.framework.Bundle et al.
Reason: when compiling the attached sources we can't find
the annotation type org.osgi.annotation.versioning.ProviderType.
I see that Equinox has the corresponding jar in its git repo,
but the deployed org.eclipse.osgi doesn't seem to contain any
hint on where this type could be found.
Now, if the annotation had retention SOURCE, one might argue
that after compilation the annotation no longer exists
(which would still create a challenge for the compiler to
find that the annotation we don't find is missing for a good
reason - for detecting the SOURCE retention we would need to
find the annotation in the first place).
With a CLASS retention, however, this annotation should IMHO
be considered part of the API and without a dependency this
makes it a secret clause as part of the public API, mhhh...
Am I misreading something? Any suggestions how the compiler
can cope with this fatal error on a published artifact?
Who is supposed to use the information about this annotation?
How does that instance get access to the annotation definition?
FYI, the problem occurs when JDT/UI functionality requests
the resolved types of methods in the given interface.