Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Sirius » Encapsulating Sirius UI in a minimal RCP product
Encapsulating Sirius UI in a minimal RCP product [message #1716278] Wed, 02 December 2015 16:37 Go to next message
Francois Cabrol is currently offline Francois CabrolFriend
Messages: 32
Registered: January 2015
Member
Hi everyone,

After having created viewpoints using the Sirius Specifier environment (Sirius 3.0.0 in Eclipse 4.5.0), I would like to create a minimal distributable application containing only the plugins that are necessary to create and edit Sirius Modeling Projects based on the meta-models and representations I have defined.

In order to do so, I created a feature-based Product Configuration by including Sirius features (as well as a feature gathering my meta-models, representations and specific views and wizards I have created) and adding necessary dependencies until the Product Configuration validates successfully.

My product starts, but I notice the following differences when I try to create a Modeling Project with sample data:
- In the Model Explorer view (as well as the Resource perspective's Project Explorer view), the project has no icon and the representations.aird file does not appear
- When I try to create a new EMF resource, either with the Example EMF Model Creation Wizards or with one of my wizards, I see the following exception in the console:

!ENTRY org.eclipse.core.commands 4 2 2015-12-02 17:10:08.248
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.commands".
!STACK 0
org.eclipse.core.runtime.AssertionFailedException: null argument:
	at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:85)
	at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:73)
	at org.eclipse.core.commands.operations.AbstractOperation.hasContext(AbstractOperation.java:160)
	at org.eclipse.ui.operations.OperationHistoryActionHandler$HistoryListener.historyNotification(OperationHistoryActionHandler.java:142)
	at org.eclipse.core.commands.operations.DefaultOperationHistory$2.run(DefaultOperationHistory.java:933)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.commands.operations.DefaultOperationHistory.notifyListeners(DefaultOperationHistory.java:922)
	at org.eclipse.core.commands.operations.DefaultOperationHistory.notifyAdd(DefaultOperationHistory.java:977)
	at org.eclipse.core.commands.operations.DefaultOperationHistory.add(DefaultOperationHistory.java:193)
	at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:533)
	at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208)
	at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165)
	at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:219)
	at org.eclipse.sirius.business.internal.modelingproject.manager.AttachSemanticResourcesJob.run(AttachSemanticResourcesJob.java:69)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)


The resource is created however, but it does not appear in the Model Explorer. Plus, if I refresh the project in the Model Explorer, it disappears from the view.

I think that I perhaps forgot to start some plugins in my Product Configuration, but I cannot find any documentation about this. What did I forget ?

Please find attached my product configuration file.

Thank you,

Fran├žois

Re: Encapsulating Sirius UI in a minimal RCP product [message #1717660 is a reply to message #1716278] Tue, 15 December 2015 15:26 Go to previous messageGo to next message
Francois Cabrol is currently offline Francois CabrolFriend
Messages: 32
Registered: January 2015
Member
There was a mistake in my product configuration : I was using a custom Application class, whereas the Eclipse Workbench works properly only if the application run in the product is org.eclipse.ui.ide.workbench. Seems obvious, but... Smile

My packaged product is OK now.

Fran├žois
Re: Encapsulating Sirius UI in a minimal RCP product [message #1826329 is a reply to message #1717660] Thu, 23 April 2020 14:41 Go to previous messageGo to next message
Avi Shaked is currently offline Avi ShakedFriend
Messages: 117
Registered: October 2019
Senior Member
I have tried doing the same and I keep getting error messages when testing my product about "missing constraint: Required-Bundle: ..."

I am attaching an image with the missing packages when trying to produce a Sirius-based product. Any tips?

Anyone has a good resource on producing Sirius based product configuration?


Thanks,
Avi

[Updated on: Thu, 23 April 2020 16:20]

Report message to a moderator

Re: Encapsulating Sirius UI in a minimal RCP product [message #1829085 is a reply to message #1826329] Thu, 25 June 2020 00:52 Go to previous messageGo to next message
Brandon Lewis is currently offline Brandon LewisFriend
Messages: 207
Registered: May 2012
Senior Member
FWIW, I found this person's Youtube video very helpful. He shows how to create a basic Sirius RCP using Tycho/Maven.

https://www.youtube.com/watch?v=ZmUrTlzqCXc&t=420s

I find it's helpful to re-visit it for reference.
Re: Encapsulating Sirius UI in a minimal RCP product [message #1829211 is a reply to message #1829085] Sun, 28 June 2020 08:05 Go to previous messageGo to next message
Avi Shaked is currently offline Avi ShakedFriend
Messages: 117
Registered: October 2019
Senior Member
I tried to follow the youtube you mentioned, but the end result was the Sirius did not work well.

Any guide of creating a product configuration for Sirius based solution will be highly appreciated!!!
Re: Encapsulating Sirius UI in a minimal RCP product [message #1829497 is a reply to message #1829211] Sun, 05 July 2020 13:55 Go to previous message
Brandon Lewis is currently offline Brandon LewisFriend
Messages: 207
Registered: May 2012
Senior Member
FWIW... I have a deployed RCP at work using the instructions from that video. I found that if I deviated from those instructions and tried to include any Sirius plugins in my product, I quickly fell into a dependency trap and couldn't put together a runtime product that worked.

Once I ran into issues, I re-visited this video and just added the minimum set of runtime plugins it suggested and my issues went away. If I remember correctly, I backed out all Sirius plugins I put into my product file and followed the way he did it in the video.

My deployed RCP is running Photon upgrade to 6.3.0 if that offers any light.

I should also note that my deployed RCP actually launches the workbench app - so it's not very RCPish. There might be a lot of workbench support I'm getting that helps this video's suggestions work like they do.

[Updated on: Sun, 05 July 2020 14:33]

Report message to a moderator

Previous Topic:Generating code with Acceleo from Sirius digram model
Next Topic:Expand/Collapse all nodes
Goto Forum:
  


Current Time: Tue Nov 24 18:52:29 GMT 2020

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

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

Back to the top