eclipse-emfcloud / ecore-glsp

ecore-glsp
Other
32 stars 25 forks source link

Unable to build because of missing Jetty dependency #110

Closed debovema closed 3 years ago

debovema commented 3 years ago

When running ./build.sh the Maven build fails because of this:

[INFO] Adding repository https://download.eclipse.org/jetty/updates/jetty-bundles-9.x/9.4.43.v20210629
[ERROR] Failed to resolve target definition /home/mathieu/glsp/ecore-glsp/server/targetplatform/ecore-server.target: Failed to load p2 metadata repository from location https://download.eclipse.org/jetty/updates/jetty-bundles-9.x/9.4.43.v20210629/: No repository found at https://download.eclipse.org/jetty/updates/jetty-bundles-9.x/9.4.43.v20210629.

@ndoschek : I noticed you already had such an issue in https://github.com/eclipse-emfcloud/emfcloud-modelserver/issues/125

It seems that Jetty is no longer provided as a p2 update site, isn't it ?

CamilleLetavernier commented 3 years ago

It seems that the Jetty P2 repo has been aggressively cleaned-up when they released a new version.

The current one is: https://download.eclipse.org/jetty/updates/jetty-bundles-9.x/9.4.44.v20210927/

The repository doesn't seem to contain composite metadata, so we can't use a more stable repository such as https://download.eclipse.org/jetty/updates/jetty-bundles-9.x/. I suspect we'll have to update the target platform regularly.

debovema commented 3 years ago

Thanks for the explanation and the fix. I was confused because of the missing composite metadata. Btw how did you find the actual version ?

It seems related to https://github.com/eclipse/jetty.project/issues/6403. Jetty maintainers introduced the new feature to distribute p2 update site as standard Maven artifacts. However this applies only to 10.x and 11.x whereas GLSP uses the 9.x branch. Moreover the declaration are done in the .target files but there are currently no support in .tpd files (used here for instance) nor in Oomph targlets (see https://github.com/eclipse/birt/issues/596).

CamilleLetavernier commented 3 years ago

Btw how did you find the actual version ?

Most Eclipse P2 repos list their contents, so if you go one or two level ups from a P2 repo URL, you can see related files (including repositories). So I simply checked https://download.eclipse.org/jetty/updates/jetty-bundles-9.x/ (With a web-browser)

It seems related to eclipse/jetty.project#6403. Jetty maintainers introduced the new feature to distribute p2 update site as standard Maven artifacts.

Indeed, we should consider updating Jetty and use the Maven P2 repos. I'll check with the other EMF.Cloud projects to see if this can be done.

debovema commented 3 years ago

OK I'm pretty sure that I checked https://download.eclipse.org/jetty/updates/jetty-bundles-9.x/ and that it was empty. Anyway the fact that this update site is not "stable" will cause the same issue in some weeks/months.

Closing but interested in future issues to keep track of changes in this repository and in eclipse-emfcloud / eclipse-glsp about this topic. IMHO some other dependencies in "unstable" should be using this new paradigm of p2 update site as standard Maven artifacts (when available).