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: 131
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: 268
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: 131
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: 268
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: Fri Apr 26 06:14:46 GMT 2024

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

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

Back to the top