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)

Reply via email to