BestSolution-at / e4-efxclipse-maven-sample

Sample using pure maven for e4 application
5 stars 8 forks source link

Cannot resolve project dependencies? #3

Closed eiswind closed 6 years ago

eiswind commented 6 years ago

HI, I just tried your example, but it fails with

Cannot resolve project dependencies: [ERROR] Software being installed: sample.mvn.app.product 1.0.0 [ERROR] Missing requirement: org.eclipse.emf.ecore.change 2.11.0.v20170609-0707 requires 'bundle org.eclipse.emf.ecore [2.13.0,3.0.0)' but it could not be found [ERROR] Cannot satisfy dependency: org.eclipse.e4.ui.workbench 1.4.0.v20160517-1624 depends on: bundle org.eclipse.emf.ecore.change 2.5.0 [ERROR] Cannot satisfy dependency: org.eclipse.fx.ui.keybindings.e4 3.0.0.201706050601 depends on: bundle org.eclipse.e4.ui.workbench 0.10.2 [ERROR] Cannot satisfy dependency: sample.mvn.app.product 1.0.0 depends on: sample.mvn.runtime.e4fx.feature.feature.group 0.0.0 [ERROR] Cannot satisfy dependency: sample.mvn.runtime.e4fx.feature.feature.group 0.0.1.201806010714 depends on: org.eclipse.fx.ui.keybindings.e4 [3.0.0.201706050601]

Any idea what I'm getting wrong? I just did mvn clean package.

tomsontom commented 6 years ago

I need to update the sample to use http://maven.bestsolution.at/efxclipse-releases/at/bestsolution/efxclipse/rt/org.eclipse.fx.runtime.e4fx.feature/ and http://maven.bestsolution.at/efxclipse-releases/at/bestsolution/efxclipse/rt/at.bestsolution.efxclipse.rt.release/

eiswind commented 6 years ago

Thx!

lauritziu commented 6 years ago

@Tom, does mean you are finished the work on providing the runtime features as maven artifacts? That would be great. 🙂 So we can throw away the feature generation stuff we've provided? That only works for efxclipse >= 3.3, correct?

Thanks.

tomsontom commented 6 years ago

yes the p2 => maven translation now also publishes features but by doing that I had to find out that EMF is not playing the platform rules and you get the same bits with different qualifier timestamps.

Frankly I'm not 100% sure if the p2 => maven translations as it is done today is correct. Maybe we need to use version ranges or we publish upstream artifacts one maven-group (oxygen-2, photon-0, ...) foreach and every upstream release to make sure everything matches.

lauritziu commented 6 years ago

We tried to throw away the contributed maven extension, which generates the efx.feature pom derived from a released efxclipse update site. We replaced this approach by referencing the mentioned pom e4fx.feature but experienced similar problems you (@tomsontom) mentioned.

For instance [INFO] --- tycho-p2-repository-plugin:1.2.0:assemble-repository (default-assemble-repository) @ com.zeiss.forum.viewer.product --- [INFO] {osgi.os=noenv, osgi.ws=noenv, org.eclipse.update.install.features=true, osgi.arch=noenv} [ERROR] Cannot resolve project dependencies: [ERROR] Software being installed: com.zeiss.forum.viewer.app.product 1.0.0 [ERROR] Missing requirement: org.eclipse.fx.runtime.e4fx.feature.feature.group 3.3.0.201805280847 requires 'org.eclipse.equinox.p2.iu; javax.xml.jre [1.3.4.201805280847,1.3.4.201805280847]' but it could not be found [ERROR] Cannot satisfy dependency: com.zeiss.forum.viewer.app.product 1.0.0 depends on: org.eclipse.equinox.p2.iu; org.eclipse.fx.runtime.e4fx.feature.feature.group 0.0.0

That happened with other artifactes as well. The missing version of javax.xml.jre is not present in the target/source-repository after building, but an artifact with version 1.3.4 but an older timestamp.

Seems to be the same problem as @tomsontom mentioned. Is there any work planned to fix this?

We switched back to our maven extension approach. We just switched the update site to efxclipse 3.3.0 and it works :)

Thanks.

lauritziu commented 6 years ago

Could you build the sample application completely. I've just tried it and got same problems.

Missing requirement: org.eclipse.fx.runtime.e4fx.feature.feature.group 3.3.0.201805280847 requires 'javax.xml.jre [1.3.4.201805280847]' but it could not be found

tomsontom commented 6 years ago

IIRC i did and we are building internal products exactly with this feature.