Closed NicolasRouquette closed 6 years ago
On http://download.eclipse.org/releases/oxygen/, Eclipse features/plugins are published with a version string that is a combination of a qualified version number and a date stamp.
What's really odd is that for several features/plugins, a version built at a given date is no longer available but the same version built at a later date is available.
-<unit id="org.eclipse.e4.rcp.feature.group" version="1.6.1.v20170829-0553"/>
+<unit id="org.eclipse.e4.rcp.feature.group" version="1.6.1.v20170928-1359"/>
-<unit id="org.eclipse.e4.rcp.source.feature.group" version="1.6.1.v20170829-0553"/>
+<unit id="org.eclipse.e4.rcp.source.feature.group" version="1.6.1.v20170928-1359"/>
-<unit id="org.eclipse.equinox.core.feature.feature.group" version="1.4.1.v20170821-1548"/>
+<unit id="org.eclipse.equinox.core.feature.feature.group" version="1.4.1.v20170928-1321"/>
-<unit id="org.eclipse.equinox.core.sdk.feature.group" version="3.13.1.v20170821-1548"/>
+<unit id="org.eclipse.equinox.core.sdk.feature.group" version="3.13.1.v20170928-1321"/>
-<unit id="org.eclipse.equinox.p2.core.feature.feature.group" version="1.4.1.v20170906-1259"/>
+<unit id="org.eclipse.equinox.p2.core.feature.feature.group" version="1.4.1.v20170928-1405"/>
-<unit id="org.eclipse.equinox.p2.core.feature.source.feature.group" version="1.4.1.v20170906-1259"/>
+<unit id="org.eclipse.equinox.p2.core.feature.source.feature.group" version="1.4.1.v20170928-1405"/>
-<unit id="org.eclipse.equinox.p2.extras.feature.feature.group" version="1.3.1.v20170906-1259"/>
+<unit id="org.eclipse.equinox.p2.extras.feature.feature.group" version="1.3.1.v20170928-1405"/>
-<unit id="org.eclipse.equinox.p2.extras.feature.source.feature.group" version="1.3.1.v20170906-1259"/>
+<unit id="org.eclipse.equinox.p2.extras.feature.source.feature.group" version="1.3.1.v20170928-1405"/>
-<unit id="org.eclipse.equinox.p2.rcp.feature.feature.group" version="1.3.1.v20170906-1259"/>
+<unit id="org.eclipse.equinox.p2.rcp.feature.feature.group" version="1.3.1.v20170928-1405"/>
-<unit id="org.eclipse.equinox.p2.sdk.feature.group" version="3.10.1.v20170906-1259"/>
+<unit id="org.eclipse.equinox.p2.sdk.feature.group" version="3.10.1.v20170928-1405"/>
-<unit id="org.eclipse.equinox.p2.user.ui.source.feature.group" version="2.3.1.v20170906-1259"/>
+<unit id="org.eclipse.equinox.p2.user.ui.source.feature.group" version="2.3.1.v20170928-1405"/>
-<unit id="org.eclipse.equinox.sdk.feature.group" version="3.13.1.v20170906-1529"/>
+<unit id="org.eclipse.equinox.sdk.feature.group" version="3.13.1.v20170928-1405"/>
-<unit id="org.eclipse.equinox.server.core.feature.group" version="1.5.1.v20170821-1548"/>
+<unit id="org.eclipse.equinox.server.core.feature.group" version="1.5.1.v20170928-1321"/>
-<unit id="org.eclipse.equinox.server.p2.feature.group" version="1.3.1.v20170906-1259"/>
+<unit id="org.eclipse.equinox.server.p2.feature.group" version="1.3.1.v20170928-1405"/>
-<unit id="org.eclipse.equinox.serverside.sdk.feature.group" version="3.13.1.v20170906-1529"/>
+<unit id="org.eclipse.equinox.serverside.sdk.feature.group" version="3.13.1.v20170928-1405"/>
-<unit id="org.eclipse.jdt.source.feature.group" version="3.13.1.v20170906-1700"/>
+<unit id="org.eclipse.jdt.source.feature.group" version="3.13.1.v20171009-0410"/>
-<unit id="org.eclipse.jst.common.fproj.enablement.jdt.feature.group" version="3.8.0.v201603091933"/>
+<unit id="org.eclipse.jst.common.fproj.enablement.jdt.feature.group" version="3.9.1.v201710021614"/>
-<unit id="org.eclipse.pde.source.feature.group" version="3.13.1.v20170906-1700"/>
+<unit id="org.eclipse.pde.source.feature.group" version="3.13.1.v20171009-0537"/>
-<unit id="org.eclipse.platform.sdk" version="4.7.1.M20170906-1700"/>
+<unit id="org.eclipse.platform.sdk" version="4.7.1.M20171009-0410"/>
-<unit id="org.eclipse.rcp.sdk.id" version="4.7.1.M20170906-1700"/>
+<unit id="org.eclipse.rcp.sdk.id" version="4.7.1.M20171009-0410"/>
Summary
It seems that Maven/Tycho fails during 'computing target platform for a MavenProject' where the target definition refers to a version of a feature that is no longer the latest version available.
Details
The target definition for OML is located here: gov.nasa.jpl.imce.oml.target.target
This target definition includes the following:
This worked in 2017; however, a recent build in January 2018 failed to resolve this feature:
This behavior is reproducible with
mvn clean verify
:Eclipse Target Definition Challenges
Maintaining a target definition for Eclipse is a fastidious process for several reasons.
The target editor in Eclipse shuffles the entries, which makes it difficult to see precisely what has changed because there is a lot of superfluous change noise due to the re-ordering of the entries.
The "Definition" tab of the target editor only shows plugins, not features.
The "Content" tab of the target editor can switch between managing plugins or managing features. Doing so changes the file and because of the shuffling, it is difficult to tell whether a significant change has been done or not (i.e., just shuffling the order of the entries).
Finding whether a feature version is the latest or not is difficult.