JPL-IMCE / gov.nasa.jpl.imce.oml

Ontology Modeling Language (OML) Workbench
14 stars 1 forks source link

Update OML's target platform to use latest version of published features #197

Closed NicolasRouquette closed 6 years ago

NicolasRouquette commented 6 years ago

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:

<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.e4.core.tools.feature.source.feature.group" version="4.7.0.v20170515-1617"/>
<unit id="org.eclipse.e4.rcp.feature.group" version="1.6.1.v20170829-0553"/>
<unit id="org.eclipse.e4.rcp.source.feature.group" version="1.6.1.v20170829-0553"/>
...
<repository location="http://download.eclipse.org/releases/oxygen/"/>
</location>

This worked in 2017; however, a recent build in January 2018 failed to resolve this feature:

[INFO] Computing target platform for MavenProject: gov.nasa.jpl.imce.oml:gov.nasa.jpl.imce.oml.uuid:0.9.0-SNAPSHOT @ /root/sources/plugins/core/gov.nasa.jpl.imce.oml.uuid/.polyglot.build.properties
[INFO] Adding repository http://download.eclipse.org/sirius/updates/releases/5.0.1/oxygen
[INFO] Adding repository http://download.eclipse.org/tools/orbit/R-builds/R20170516192513/repository
[INFO] Adding repository http://download.eclipse.org/releases/oxygen
[ERROR] Failed to resolve target definition /root/sources/releng/gov.nasa.jpl.imce.oml.target/gov.nasa.jpl.imce.oml.target.target: Could not find "org.eclipse.e4.rcp.feature.group/1.6.1.v20170829-0553" in the repositories of the current location -> [Help 1]
[ERROR] Failed to resolve target definition /root/sources/releng/gov.nasa.jpl.imce.oml.target/gov.nasa.jpl.imce.oml.target.target: Could not find "org.eclipse.e4.rcp.feature.group/1.6.1.v20170829-0553" in the repositories of the current location -> [Help 1]
org.apache.maven.MavenExecutionException: Failed to resolve target definition /root/sources/releng/gov.nasa.jpl.imce.oml.target/gov.nasa.jpl.imce.oml.target.target: Could not find "org.eclipse.e4.rcp.feature.group/1.6.1.v20170829-0553" in the repositories of the current location

This behavior is reproducible with mvn clean verify:

[INFO] Computing target platform for MavenProject: gov.nasa.jpl.imce.oml:gov.nasa.jpl.imce.oml.uuid:0.9.0-SNAPSHOT @ /opt/local/imce/users/nfr/github.imce/gov.nasa.jpl.imce.oml.tycho/plugins/core/gov.nasa.jpl.imce.oml.uuid/.polyglot.build.properties
[INFO] Fetching p2.index from http://download.eclipse.org/sirius/updates/releases/5.0.1/oxygen/
[INFO] Fetching p2.index from http://download.eclipse.org/sirius/updates/releases/5.0.1/oxygen/
[INFO] Adding repository http://download.eclipse.org/sirius/updates/releases/5.0.1/oxygen
[INFO] Fetching p2.index from http://download.eclipse.org/tools/orbit/R-builds/R20170516192513/repository/
[INFO] Fetching p2.index from http://download.eclipse.org/tools/orbit/R-builds/R20170516192513/repository/
[INFO] Adding repository http://download.eclipse.org/tools/orbit/R-builds/R20170516192513/repository
[INFO] Fetching p2.index from http://download.eclipse.org/tools/orbit/downloads/drops2/R20170516192513/repository/
[INFO] Fetching p2.index from http://download.eclipse.org/tools/orbit/downloads/drops2/R20170516192513/repository/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/oxygen/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/oxygen/
[INFO] Adding repository http://download.eclipse.org/releases/oxygen
[INFO] Fetching compositeContent.jar from http://download.eclipse.org/releases/oxygen/ (497B)
[INFO] Fetching compositeContent.jar from http://download.eclipse.org/releases/oxygen/ (497B)
[INFO] Fetching p2.index from http://download.eclipse.org/technology/epp/packages/oxygen/
[INFO] Fetching p2.index from http://download.eclipse.org/technology/epp/packages/oxygen/
[INFO] Fetching content.xml.xz from http://download.eclipse.org/technology/epp/packages/oxygen/
[INFO] Fetching content.xml.xz from http://download.eclipse.org/technology/epp/packages/oxygen/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/oxygen/201712201001/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/oxygen/201712201001/
[INFO] Fetching content.xml.xz from http://download.eclipse.org/releases/oxygen/201712201001/ (861.64kB)
[INFO] Fetching content.xml.xz from http://download.eclipse.org/releases/oxygen/201712201001/ (861.64kB)
[INFO] Fetching p2.index from http://download.eclipse.org/releases/oxygen/201712201000/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/oxygen/201712201000/
[INFO] Fetching content.xml.xz from http://download.eclipse.org/releases/oxygen/201712201000/ (861.12kB)
[INFO] Fetching content.xml.xz from http://download.eclipse.org/releases/oxygen/201712201000/ (861.12kB)
[INFO] Fetching content.xml.xz from http://download.eclipse.org/releases/oxygen/201712201000/ (803.84kB of 861.12kB at 798.47kB/s)
[INFO] Fetching p2.index from http://download.eclipse.org/releases/oxygen/201710111001/
[INFO] Fetching p2.index from http://download.eclipse.org/releases/oxygen/201710111001/
[ERROR] Failed to resolve target definition /opt/local/imce/users/nfr/github.imce/gov.nasa.jpl.imce.oml.tycho/releng/gov.nasa.jpl.imce.oml.target/gov.nasa.jpl.imce.oml.target.target: Could not find "org.eclipse.e4.rcp.feature.group/1.6.1.v20170829-0553" in the repositories of the current location -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 

Eclipse Target Definition Challenges

Maintaining a target definition for Eclipse is a fastidious process for several reasons.

NicolasRouquette commented 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"/>