Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Oomph » How-to create a Setup model which allows to switch between streams and change Xtext version?
How-to create a Setup model which allows to switch between streams and change Xtext version? [message #1714479] Fri, 13 November 2015 00:31 Go to next message
Michael Vorburger is currently offline Michael VorburgerFriend
Messages: 103
Registered: July 2009
Senior Member
Hello,

Is it possible to have an Oomph Setup model for an Xtext-based project such as https://wiki.eclipse.org/ESON which allows one to setup a workspace to be either on master branch on bleeding edge latest nightly Xtext, or a maintenance stable branch on a fixed released Xtext, and when you change the stream (see https://wiki.eclipse.org/Eclipse_Oomph_Authoring#How_to_switch_the_current_stream) switch the git branch and Xtext version in both the target platform and P2 Director?

I've tried this, and initially struggled for too many hours with an initial problem shown at the bottom - until I suspected that one would HAVE to use an "Eclipse IDE for Eclipse Commiters" product instead of a "Eclipse DSL Tools (Mars)" so that the Xtext version is not already fixed and cannot be changed anymore?

But even after switching the base product, using an ESON.setup as shown on https://git.eclipse.org/r/#/c/54785/5/releng/org.eclipse.emf.eson.releng/ESON.setup,unified (originally from http://git.eclipse.org/c/emf/org.eclipse.emf.git/tree/releng/org.eclipse.emf.releng/EMF.setup) when you first install using the 'Xtext-v2.8.x' stream, and then try to switch stream to master, I get the inverse error of the initial problem, full details shown below - but now that the product does not fix an Xtext anymore, just WHAT is causing it to think it still needs a org.eclipse.xtext.purexbase 2.8.4, when you want to switch to a 2.9.0 - what am I misunderstanding why this does not work?

Or is it not possible to switch over versions like this? Isn't this the very raison d'être of Oomph?

Thank You!
Michael


Executing manual tasks
Product org.eclipse.products.epp.package.committers.mars
Project org.eclipse.user.project.eson.master
Bundle org.eclipse.oomph.setup 1.3.0.v20151107-1225, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Bundle org.eclipse.oomph.setup.core 1.3.0.v20151017-0515, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Bundle org.eclipse.oomph.setup.git 1.3.0.v20151017-1318, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Bundle org.eclipse.oomph.setup.jdt 1.3.0.v20150923-0945, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Bundle org.eclipse.oomph.setup.p2 1.3.0.v20151016-1206, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Bundle org.eclipse.oomph.setup.projects 1.3.0.v20150923-0945, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Bundle org.eclipse.oomph.setup.targlets 1.3.0.v20151030-0735, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Bundle org.eclipse.oomph.setup.workingsets 1.3.0.v20150923-0945, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Performing P2 Director (Eclipse IDE for Eclipse Committers (Mars))
Offline = false
Mirrors = true
Resolving 26 requirements from 6 repositories to /home/mvorburger/dev/Oomph-based/eson-master/eclipse
Requirement net.sf.eclipsecs.feature.group
Requirement com.github.sevntu.checkstyle.checks.feature.feature.group
Requirement org.eclipse.emf.sdk.feature.group
Requirement org.eclipse.xtext.sdk.feature.group [2.9.0,3.0.0)
Requirement org.eclipse.xtend.sdk.feature.group [2.9.0,3.0.0)
Requirement org.eclipse.emf.ecore.xcore.sdk.feature.group
Requirement org.eclipse.pde.api.tools.ee.feature.feature.group
Requirement org.eclipse.oomph.version.feature.group
Requirement org.eclipse.oomph.launches.feature.group
Requirement org.eclipse.oomph.manifests.feature.group
Requirement org.eclipse.oomph.projectconfig.feature.group
Requirement org.eclipse.oomph.projectcopy.feature.group
Requirement org.eclipse.oomph.workingsets.feature.group
Requirement org.eclipse.egit.feature.group
Requirement epp.package.committers [4.5.0,4.6.0)
Requirement org.eclipse.platform.feature.group [4.5.0,4.6.0)
Requirement org.eclipse.rcp.feature.group [4.5.0,4.6.0)
Requirement org.eclipse.jdt.feature.group [3.11.0,3.12.0)
Requirement org.eclipse.pde.feature.group [3.11.0,3.12.0)
Requirement org.eclipse.oomph.setup.feature.group
Requirement org.eclipse.oomph.targlets.feature.group
Requirement org.eclipse.oomph.setup.targlets.feature.group
Requirement org.eclipse.oomph.setup.jdt.feature.group
Requirement org.eclipse.oomph.setup.git.feature.group
Requirement org.eclipse.oomph.setup.projects.feature.group
Requirement org.eclipse.oomph.setup.workingsets.feature.group
Repository http://eclipse-cs.sf.net/update
Repository http://download.eclipse.org/modeling/tmf/xtext/updates/composite/nightly/
Repository http://download.eclipse.org/egit/updates
Repository http://download.eclipse.org/technology/epp/packages/mars
Repository http://download.eclipse.org/releases/mars/201510021000
Repository http://download.eclipse.org/oomph/updates/latest
Fetching p2.index from http://download.eclipse.org/modeling/tmf/xtext/updates/composite/nightly/
Adding repository http://download.eclipse.org/modeling/tmf/xtext/updates/composite/nightly/
Calculating requirements and dependencies.
Cannot complete the request. Generating details.
ERROR: org.eclipse.equinox.p2.director code=10054 Cannot complete the install because of a conflicting dependency.
at org.eclipse.oomph.util.OomphPlugin.coreException(OomphPlugin.java:280)
at org.eclipse.oomph.p2.internal.core.ProfileTransactionImpl.resolve(ProfileTransactionImpl.java:413)
at org.eclipse.oomph.p2.internal.core.ProfileTransactionImpl.commit(ProfileTransactionImpl.java:325)
at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.perform(P2TaskImpl.java:710)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:3025)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.access$1(SetupTaskPerformer.java:2969)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil$1.run(SetupTaskPerformer.java:4149)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.performNeededSetupTasks(SetupTaskPerformer.java:4143)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.access$0(SetupTaskPerformer.java:4141)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:2960)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:2935)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:2829)
at org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:552)
at org.eclipse.oomph.setup.ui.wizards.ProgressPage$11$1.run(ProgressPage.java:671)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
ERROR: org.eclipse.equinox.p2.director code=0 Software being installed: artificial_root 1.0.0.v1447373304239
ERROR: org.eclipse.equinox.p2.director code=1 Only one of the following can be installed at once:
ERROR: org.eclipse.equinox.p2.director code=0 org.eclipse.xtext.purexbase 2.8.4.v201508050135 (org.eclipse.xtext.purexbase 2.8.4.v201508050135)
ERROR: org.eclipse.equinox.p2.director code=0 org.eclipse.xtext.purexbase 2.9.0.v201511110825 (org.eclipse.xtext.purexbase 2.9.0.v201511110825)
ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
ERROR: org.eclipse.equinox.p2.director code=0 From: artificial_root 1.0.0.v1447373304239
ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.xtext.sdk.feature.group [2.8.0,2.9.0)
ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
ERROR: org.eclipse.equinox.p2.director code=0 From: artificial_root 1.0.0.v1447373304239
ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.xtext.sdk.feature.group [2.9.0,3.0.0)
ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
ERROR: org.eclipse.equinox.p2.director code=0 From: Xtext Complete SDK 2.8.4.v201508050135 (org.eclipse.xtext.sdk.feature.group 2.8.4.v201508050135)
ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.xtext.purexbase [2.8.4.v201508050135]
ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
ERROR: org.eclipse.equinox.p2.director code=0 From: Xtext Complete SDK 2.9.0.v201511110825 (org.eclipse.xtext.sdk.feature.group 2.9.0.v201511110825)
ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.xtext.purexbase [2.9.0.v201511110825]

Took 4 seconds.
There are failed tasks.
Press Back to choose different settings or Cancel to abort.


Similar original first error, just FTR for future Google searching: This first error was "just" because when using "Eclipse DSL Tools (Mars)" as 'product' then the Xtext version is already fixed; simply using "Eclipse IDE for Eclipse Commiters" as initial product "solves" this:

Executing manual tasks
Product org.eclipse.products.epp.package.dsl.mars
Project org.eclipse.user.project.eson.Xtext-v2.8.x
Bundle org.eclipse.oomph.setup 1.3.0.v20151107-1225, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Bundle org.eclipse.oomph.setup.core 1.3.0.v20151017-0515, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Bundle org.eclipse.oomph.setup.git 1.3.0.v20151017-1318, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Bundle org.eclipse.oomph.setup.jdt 1.3.0.v20150923-0945, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Bundle org.eclipse.oomph.setup.p2 1.3.0.v20151016-1206, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Bundle org.eclipse.oomph.setup.projects 1.3.0.v20150923-0945, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Bundle org.eclipse.oomph.setup.targlets 1.3.0.v20151030-0735, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Bundle org.eclipse.oomph.setup.workingsets 1.3.0.v20150923-0945, build=1923, branch=8359c49a92734051d767cf7c2d0b8c8d16961b51, commit=8359c49a92734051d767cf7c2d0b8c8d16961b51
Performing P2 Director (Eclipse DSL Tools (Mars))
Offline = false
Mirrors = true
Resolving 27 requirements from 6 repositories to /home/mvorburger/dev/Oomph-based/eson-master/eclipse
Requirement net.sf.eclipsecs.feature.group
Requirement com.github.sevntu.checkstyle.checks.feature.feature.group
Requirement org.eclipse.emf.sdk.feature.group
Requirement org.eclipse.xtext.xbase.feature.group [2.8.0,2.9.0)
Requirement org.eclipse.xtext.sdk.feature.group [2.8.0,2.9.0)
Requirement org.eclipse.xtend.sdk.feature.group [2.8.0,2.9.0)
Requirement org.eclipse.emf.ecore.xcore.sdk.feature.group
Requirement org.eclipse.pde.api.tools.ee.feature.feature.group
Requirement org.eclipse.oomph.version.feature.group
Requirement org.eclipse.oomph.launches.feature.group
Requirement org.eclipse.oomph.manifests.feature.group
Requirement org.eclipse.oomph.projectconfig.feature.group
Requirement org.eclipse.oomph.projectcopy.feature.group
Requirement org.eclipse.oomph.workingsets.feature.group
Requirement org.eclipse.egit.feature.group
Requirement epp.package.dsl [4.5.0,4.6.0)
Requirement org.eclipse.platform.feature.group [4.5.0,4.6.0)
Requirement org.eclipse.rcp.feature.group [4.5.0,4.6.0)
Requirement org.eclipse.jdt.feature.group [3.11.0,3.12.0)
Requirement org.eclipse.pde.feature.group [3.11.0,3.12.0)
Requirement org.eclipse.oomph.setup.feature.group
Requirement org.eclipse.oomph.targlets.feature.group
Requirement org.eclipse.oomph.setup.targlets.feature.group
Requirement org.eclipse.oomph.setup.jdt.feature.group
Requirement org.eclipse.oomph.setup.git.feature.group
Requirement org.eclipse.oomph.setup.projects.feature.group
Requirement org.eclipse.oomph.setup.workingsets.feature.group
Repository http://eclipse-cs.sf.net/update
Repository http://download.eclipse.org/modeling/tmf/xtext/updates/releases/2.8.4/
Repository http://download.eclipse.org/egit/updates
Repository http://download.eclipse.org/technology/epp/packages/mars
Repository http://download.eclipse.org/releases/mars/201510021000
Repository http://download.eclipse.org/oomph/updates/latest
Calculating requirements and dependencies.
Cannot complete the request. Generating details.
ERROR: org.eclipse.equinox.p2.director code=10054 Cannot complete the install because of a conflicting dependency.
at org.eclipse.oomph.util.OomphPlugin.coreException(OomphPlugin.java:280)
at org.eclipse.oomph.p2.internal.core.ProfileTransactionImpl.resolve(ProfileTransactionImpl.java:413)
at org.eclipse.oomph.p2.internal.core.ProfileTransactionImpl.commit(ProfileTransactionImpl.java:325)
at org.eclipse.oomph.setup.p2.impl.P2TaskImpl.perform(P2TaskImpl.java:710)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.doPerformNeededSetupTasks(SetupTaskPerformer.java:3025)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.access$1(SetupTaskPerformer.java:2969)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil$1.run(SetupTaskPerformer.java:4149)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.performNeededSetupTasks(SetupTaskPerformer.java:4143)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer$WorkspaceUtil.access$0(SetupTaskPerformer.java:4141)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performNeededSetupTasks(SetupTaskPerformer.java:2960)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.performTriggeredSetupTasks(SetupTaskPerformer.java:2935)
at org.eclipse.oomph.setup.internal.core.SetupTaskPerformer.perform(SetupTaskPerformer.java:2829)
at org.eclipse.oomph.setup.ui.wizards.ProgressPage$9.run(ProgressPage.java:552)
at org.eclipse.oomph.setup.ui.wizards.ProgressPage$11$1.run(ProgressPage.java:671)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
ERROR: org.eclipse.equinox.p2.director code=0 Software being installed: artificial_root 1.0.0.v1447371636920
ERROR: org.eclipse.equinox.p2.director code=1 Only one of the following can be installed at once:
ERROR: org.eclipse.equinox.p2.director code=0 org.eclipse.xtext.purexbase 2.8.4.v201508050135 (org.eclipse.xtext.purexbase 2.8.4.v201508050135)
ERROR: org.eclipse.equinox.p2.director code=0 org.eclipse.xtext.purexbase 2.9.0.v201511110825 (org.eclipse.xtext.purexbase 2.9.0.v201511110825)
ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
ERROR: org.eclipse.equinox.p2.director code=0 From: artificial_root 1.0.0.v1447371636920
ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.xtext.sdk.feature.group [2.8.0,2.9.0)
ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
ERROR: org.eclipse.equinox.p2.director code=0 From: artificial_root 1.0.0.v1447371636920
ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.xtext.sdk.feature.group [2.9.0,3.0.0)
ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
ERROR: org.eclipse.equinox.p2.director code=0 From: Xtext Complete SDK 2.8.4.v201508050135 (org.eclipse.xtext.sdk.feature.group 2.8.4.v201508050135)
ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.xtext.purexbase [2.8.4.v201508050135]
ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy dependency:
ERROR: org.eclipse.equinox.p2.director code=0 From: Xtext Complete SDK 2.9.0.v201511110825 (org.eclipse.xtext.sdk.feature.group 2.9.0.v201511110825)
ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.xtext.purexbase [2.9.0.v201511110825]
Re: How-to create a Setup model which allows to switch between streams and change Xtext version? [message #1714506 is a reply to message #1714479] Fri, 13 November 2015 09:52 Go to previous messageGo to next message
Alexander Nittka is currently offline Alexander NittkaFriend
Messages: 1193
Registered: July 2009
Senior Member
ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.xtext.sdk.feature.group [2.8.0,2.9.0)
ERROR: org.eclipse.equinox.p2.director code=0 To: org.eclipse.xtext.sdk.feature.group [2.9.0,3.0.0)

indicates that the (resulting) setup contains dependencies to incomatible versions. I cannot say whether it is a problem in the setup itself or the process of switching branches. In any case, there would be be issues when "switching back". Once Xtext 2.9 is installed, Oomph is not capable of deinstalling it in order to install 2.8 again. With respect to targlets this should not be an issue. I don't know, whether a P2-deinstall-Task (ensure that a particular feature is not installed before running the P2-Task) would be a feature request worth considering

Alex


Need training, onsite consulting or any other kind of help for Xtext?
Go visit http://xtext.itemis.com or send a mail to xtext@itemis.de
Re: How-to create a Setup model which allows to switch between streams and change Xtext version? [message #1714515 is a reply to message #1714506] Fri, 13 November 2015 10:43 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33258
Registered: July 2009
Senior Member
Depending on which product version you choose, the range restrictions
are different. I.e., if you choose Mars, you cannot upgrade beyond the
Mars minor version, but if you choose Latest Released, you can upgrade
to up to any minor version.

On 13/11/2015 10:52 AM, Alexander Nittka wrote:
> ERROR: org.eclipse.equinox.p2.director code=0 To:
> org.eclipse.xtext.sdk.feature.group [2.8.0,2.9.0)
> ERROR: org.eclipse.equinox.p2.director code=0 To:
> org.eclipse.xtext.sdk.feature.group [2.9.0,3.0.0)
>
> indicates that the (resulting) setup contains dependencies to
> incomatible versions. I cannot say whether it is a problem in the
> setup itself or the process of switching branches. In any case, there
> would be be issues when "switching back". Once Xtext 2.9 is installed,
> Oomph is not capable of deinstalling it in order to install 2.8 again.
> With respect to targlets this should not be an issue. I don't know,
> whether a P2-deinstall-Task (ensure that a particular feature is not
> installed before running the P2-Task) would be a feature request worth
> considering
>
> Alex


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: How-to create a Setup model which allows to switch between streams and change Xtext version? [message #1714518 is a reply to message #1714479] Fri, 13 November 2015 11:01 Go to previous message
Michael Vorburger is currently offline Michael VorburgerFriend
Messages: 103
Registered: July 2009
Senior Member
Hm... if to "switch streams" instead of using File > Import > Oomph > Projects Into Workspace (which causes the problem above) one re-launches Oomph eclipse-inst, even pointing to the existing installation directory (with Overwrite), then it works.

So it looks like the best pragmatic "solution" to this problem then is to simply keep two installations for different streams?

BTW: My initial observation about about "Eclipse IDE for Eclipse Commiters" product instead of a "Eclipse DSL Tools (Mars)" so that the Xtext version is not already fixed is probably non-sense - please ignore.

FYI: https://git.eclipse.org/r/#/c/54785/ merged. Wrote some documentation on https://wiki.eclipse.org/ESON#How_to_contribute. Created https://bugs.eclipse.org/bugs/show_bug.cgi?id=482099. ESON has Oomph! Wink
Previous Topic:Importing projects with different Java-Version
Next Topic:Gradle integation?
Goto Forum:
  


Current Time: Thu Dec 05 16:32:09 GMT 2024

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

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

Back to the top