[ https://issues.apache.org/jira/browse/FELIX-4557?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14060072#comment-14060072 ]
Marcel Offermans commented on FELIX-4557: ----------------------------------------- If it's not broke, don't fix it. So are there actually issues with using the older parent pom and plugin? If so, there is a valid reason to upgrade, with the risk of changing other things: parent poms and bundle plugin versions do tend to change certain aspects, at least in my experience whenever I upgraded either of them, random other stuff started breaking. Also, keep in mind that with Dependency Manager 4, we are switching to Bndtools anyway, so I would not make too many big upgrades to the 3.x codebase in that respect. That being said, if we need to upgrade this, we should. :) > 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)