Pierre De Rop created FELIX-4557:
------------------------------------
Summary: Update Dependency Manager to latest felix parent
pom/bundle plugin versions
Key: FELIX-4557
URL: https://issues.apache.org/jira/browse/FELIX-4557
Project: Felix
Issue Type: Improvement
Components: Dependency Manager
Reporter: Pierre De Rop
Assignee: Pierre De Rop
Priority: Trivial
Currently, dependency manager is using maven-bundle-plugin 2.3.4, and
felix-parent pom 1.2.0;
So, before doing a release, we should update the poms of the DM artifacts to be
released with latest parent pom (2.1) and latest maven-bundle-plugin (2.5.0).
Notice that using parent pom 2.1 introduces an issue with the DM core: indeed,
the 2.1 parent pom is using a strict java compiler compliance level to 1.3,
which generates an eclipse compilation error for the
"org.apache.felix.dm.tracker.ServiceTracker" class, because in the Tracked
inner class, the "highestTracked" method is invoking the "size()" method, like
this (line 921):
private ServiceReference highestTracked(long serviceId) {
ServiceReference result = null;
int max = Integer.MIN_VALUE;
synchronized (this) {
int length = size();
...
but when using strict java 1.3 compliance, Eclipse displays a compilation error
because the size() method is both declared in the AbstractTracked inherited
class , as well as in the ServiceTracker enclosing class.
One way to work around would be to modify the code like this:
synchronized (this) {
int length = this.size();
but I prefer to not modify the code before releasing and use a
<source>1.4</source> in pom.xml, which resolves the eclipse compilation issue.
--
This message was sent by Atlassian JIRA
(v6.2#6252)