Is it possible to restrict to a given version of eclipse? [message #1823148] |
Fri, 20 March 2020 11:08 |
Victor Toni Messages: 20 Registered: July 2009 |
Junior Member |
|
|
I would like to restrict our setup to a given version of eclipse. What would be the best way to do that?
Background to the question is that we use a plugin which has its own release cycle and sometimes there are compatibility issues between the latest eclipse release and the latest release of this plugin.
Usually this can be fixed by using snapshot verions of the plugin but these versions have their own quirks at times.
So the plan would be to avoid automatic updates and whenever there are supposed to be updates, these then can be tested on a small scale before impacting each and every developer.
[Updated on: Mon, 30 March 2020 13:39] Report message to a moderator
|
|
|
|
|
Re: How to restrict to a given version of eclipse [message #1823672 is a reply to message #1823637] |
Tue, 31 March 2020 05:08 |
Ed Merks Messages: 33141 Registered: July 2009 |
Senior Member |
|
|
Each schema URI in any *.setup always refers to an Ecore model not to XSD model, e.g., the nsURI of this:
https://git.eclipse.org/c/oomph/org.eclipse.oomph.git/tree/plugins/org.eclipse.oomph.setup/model/Setup.ecore
You can't merge a Product and a Project into a single file because ultimately each such things needs to be contained by a Product Catalog or a Project Catalog and this involves EMF's cross resource containment support which only allows you to contain the root object of another resource. I suppose in principle it's possible to put the two objects in a single resource, but I don't know that this wouldn't cause problems somewhere.
And unfortunately Product Catalogs are not extensible the way the Project Catalogs are so adding your own Product setup is not so easy without -Doomph.redirection.* arguments to the installer itself...
Keep in mind that the Project setup can also include a p2 task where you can specify version ranges on the requirements as well as p2 repositories where to resolve them. So if you want to restrict version of the product, provide a Configuration to choose a specific Product Version, e.g., Product org.eclipse.platform.ide Version 2020-03.<?xml version="1.0" encoding="UTF-8"?>
<setup.p2:P2Task
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:setup.p2="http://www.eclipse.org/oomph/setup/p2/1.0"
label="Eclipse Platform (2020-03)">
<requirement
name="org.eclipse.platform.ide"
versionRange="[4.15.0,5.0.0)"/>
<requirement
name="org.eclipse.platform.feature.group"
versionRange="[4.15.0,5.0.0)"/>
<requirement
name="org.eclipse.rcp.feature.group"
versionRange="[4.15.0,5.0.0)"/>
<repository
url="http://download.eclipse.org/releases/2020-03/202003181000">
<annotation
source="http://www.eclipse.org/oomph/setup/ReleaseTrain"/>
</repository>
</setup.p2:P2Task>
This is just the bare bones. In your Project's setup can can include a p2 task to install whatever you want and only the things you want. If you later want the setup to update to a newer version of the platform, you can add a repository that contains the newer version. If you want to ensure that you don't randomly update to a higher version available in some p2 repository that you've added, the Project's p2 task can have a more restricted range on these same bare bones requirements above.
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03381 seconds