Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Epsilon » Installing Epsilon with Dockerfile(Advice on installing Epsilon/Emfatic into an Eclispe instance in a Docker container - dependency errors)
Installing Epsilon with Dockerfile [message #1862207] Fri, 17 November 2023 14:52 Go to next message
James Harbin is currently offline James HarbinFriend
Messages: 3
Registered: June 2022
Junior Member
Hi,

Is is possible to install Epsilon inside an Eclipse in a docker container, using the p2 director?
Ultimately I want to have Eclipse+EMF/Epsilon/Emfatic in this container, with the appropriate projects set up, able to display on the host X server.

I am setting up a Dockerfile, starting with eclipse-modeling-2023-09-R-linux-gtk-x86_64.tar.gz.
I can start the container and view Eclipse properly.

The problem is in setting up the Epsilon packages. Here I am using the zip epsilon-2.4-site.zip, but it is the same when using the online site. It always fails with dependency errors:

RUN eclipse -application org.eclipse.equinox.p2.director -repository 'jar:file:/home/simtesting/plugins/epsilon-2.4-site.zip!/' -installIU org.eclipse.epsilon.eunit.dt.emf.feature.feature.group,org.eclipse.epsilon.core.feature.feature.group,org.eclipse.epsilon.core.feature.feature.group,org.eclipse.epsilon.core.dt.feature.feature.group,org.eclipse.epsilon.emf.dt.feature.feature.group,org.eclipse.epsilon.emf.feature.feature.group,org.eclipse.epsilon.emc.graphml.feature.feature.group,org.eclipse.epsilon.evl.emf.validation.feature.feature.group,org.eclipse.epsilon.ewl.emf.feature.feature.group,org.eclipse.epsilon.flexmi.feature.feature.group,org.eclipse.epsilon.flexmi.dt.feature.feature.group


Here is an example of the current error:
Cannot complete the install because one or more required items could not be found.
        Software being installed: Flexmi Development Tools 2.4.0.202203041826 (org.eclipse.epsilon.flexmi.dt.feature.feature.group 2.4.0.202203041826)
        Missing requirement: Exeed EMF Model Editor 2.4.0.202203041826 (org.eclipse.epsilon.dt.exeed 2.4.0.202203041826) requires 'osgi.bundle; org.jdom 0.0.0' but it could not be found
        Cannot satisfy dependency:
                From: Epsilon Development Tools for EMF 2.4.0.202203041826 (org.eclipse.epsilon.emf.dt.feature.feature.group 2.4.0.202203041826)
                To: org.eclipse.equinox.p2.iu; org.eclipse.epsilon.dt.exeed [2.4.0.202203041826,2.4.0.202203041826]
        Cannot satisfy dependency:
                From: Flexmi Development Tools 2.4.0.202203041826 (org.eclipse.epsilon.flexmi.dt.feature.feature.group 2.4.0.202203041826)
                To: org.eclipse.equinox.p2.iu; org.eclipse.epsilon.emf.dt.feature.feature.group [2.4.0.202203041826,2.4.0.202203041826]
There were errors. See log file: /home/simtesting/eclipse/eclipse/configuration/1700232160657.log


Is there any way to tell p2 director to resolve and download all the dependencies automatically, like Eclipse does when installing from "Install New Software"? I managed to find some of this osgi.bundle dependencies at this Orbit repository, but there has to be a better solution than just looking them all up manually and adding an individual install command for each dependency.

Alternatively, is there a way to get from the Eclipse GUI a full list of all the repository IDs and installable units that were used in the manual installation, so I can put these into the Dockerfile?

Thanks,
James
Re: Installing Epsilon with Dockerfile [message #1862209 is a reply to message #1862207] Fri, 17 November 2023 15:29 Go to previous messageGo to next message
Antonio Garcia-Dominguez is currently offline Antonio Garcia-DominguezFriend
Messages: 594
Registered: January 2010
Location: Birmingham, UK
Senior Member

If it helps, this is exactly what the epsilon-ci-container from Committed Consulting has done:

https://gitlab.com/committed-consulting/mde-devops/epsilon-ci-container

It may be sufficient to adapt their Dockerfile, adding the Flexmi feature to the INSTALLABLE_UNITS list:

https://gitlab.com/committed-consulting/mde-devops/epsilon-ci-container/-/blob/main/Dockerfile?ref_type=heads#L93

You'll notice that instead of the equinox p2 installer, it uses Oomph through the eclipse-inst binary: the same Eclipse installer that end-users execute to install Eclipse locally into their PCs. That should give you a very similar Eclipse to what you would run locally.

The image can also be used from Github Actions, using this action:

https://github.com/committed-consulting/epsilon-ci-action

[Updated on: Fri, 17 November 2023 15:35]

Report message to a moderator

Re: Installing Epsilon with Dockerfile [message #1862218 is a reply to message #1862209] Sat, 18 November 2023 09:20 Go to previous message
James Harbin is currently offline James HarbinFriend
Messages: 3
Registered: June 2022
Junior Member
Thanks very much Antonio, this looks like exactly what we need.

It seems the key is to run the Oomph installer once as a single operation, with a wider set of repositories and UIs. Perhaps that helps it figure out the dependencies.

I will see if this solves the problem, and let you know how it goes.

Thanks very much,

James

Previous Topic:Not properly disposed SWT resource
Next Topic:How to get the name of the .model file and the folder it resides in?
Goto Forum:
  


Current Time: Sat Apr 27 13:13:53 GMT 2024

Powered by FUDForum. Page generated in 0.03105 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top