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