[ 
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)

Reply via email to