You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Marcel Offermans (JIRA)" <ji...@apache.org> on 2014/07/13 12:27:05 UTC

[jira] [Commented] (FELIX-4557) Update Dependency Manager to latest felix parent pom/bundle plugin versions

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