Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [papyrus-rt-dev] Developer Oomph setup EMF generation

Hi,

I’m just getting a moment now to look into this, too.  Sorry.

So, I can report that, with a new installation, workspace, and git clone, I see the same problems of task ordering:


and the first codegen not running:

Performing Launch GenerateXtumlrtCommon.mwe2

Execute Debug Command

Refresh resources...

Performing Launch GenerateXtumlrtUmlrt.mwe2


I’ll see what I can figure out.  The first problem should be addressable by specifying ordering constraints in the setup model.  The second, I’m not so sure.

cW

On 16 May, 2016 at 11:07:27, Ernesto Posse (eposse@xxxxxxxxxxxxx) wrote:

Thanks. We can rule out being an OS-specific problem.


On Mon, May 16, 2016 at 10:31 AM Peter Cigéhn <peter.cigehn@xxxxxxxxx> wrote:
Hi,

I'm on Windows.

To clarify also, I had to perform run the setup task manually two times, and also perform a clean after each, before I had an error free workspace.

/Peter Cigéhn

On 16 May 2016 at 16:12, Ernesto Posse <eposse@xxxxxxxxxxxxx> wrote:
Thanks Peter. Indeed, the error in the GenerateTumlrt.mwe2 is due to the fact that GenerateXtumlrtCommon.mwe2 doesn't execute. The Tumlrt is the xtext project, and since the xtumlrt.common, which is the abstract syntax, doesn't build, then the Xtext generation fails.

At least I know now that it's not just me! 

Can you tell me which is your platform? Windows? Linux? OS X?
 


On Mon, May 16, 2016 at 9:49 AM Peter Cigéhn <peter.cigehn@xxxxxxxxx> wrote:
Hi,

I've tried the latest patch set from this Gerrit change, and it looks like I get into the same problem, i.e. the first launch does not seem to run (at least not producing any logging output):

...
Performing Launch GenerateXtumlrtCommon.mwe2
Execute Debug Command
Refresh resources...
Performing Launch GenerateXtumlrtUmlrt.mwe2
Execute Debug Command
Building org.eclipse.papyrusrt.codegen.cpp: Collecting resources
Building org.eclipse.papyrusrt.codegen.cpp: Create resource descriptions
...

But I do bump into another issue. During the launch of GenerateTumlrt.mwe2 the following is logged:

2606 [main] ERROR mf.mwe2.launch.runtime.Mwe2Launcher  - Problems instantiating module 

org.eclipse.papyrusrt.xtumlrt.xtext.Tumlrt: java.lang.reflect.InvocationTargetException 
java.lang.RuntimeException: Problems instantiating module org.eclipse.papyrusrt.xtumlrt.xtext.Tumlrt: 

java.lang.reflect.InvocationTargetException 
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:95) 
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62) 
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52) 
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78) 
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36) 
Caused by: org.eclipse.emf.common.util.WrappedException: java.lang.reflect.InvocationTargetException 
at org.eclipse.emf.mwe2.language.factory.SettingProviderImpl$1$1.setValue(SettingProviderImpl.java:56) 
at org.eclipse.emf.mwe2.language.factory.Mwe2ExecutionEngine.internalApplyAssignments(Mwe2ExecutionEngine.java:143) 
at org.eclipse.emf.mwe2.language.factory.Mwe2ExecutionEngine.inCase(Mwe2ExecutionEngine.java:114) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:296) 
at org.eclipse.emf.mwe2.language.factory.Mwe2ExecutionEngine.internalSwitch(Mwe2ExecutionEngine.java:66) 
at org.eclipse.emf.mwe2.language.factory.Mwe2ExecutionEngine.internalApplyAssignments(Mwe2ExecutionEngine.java:142) 
at org.eclipse.emf.mwe2.language.factory.Mwe2ExecutionEngine.inCase(Mwe2ExecutionEngine.java:114) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:296) 
at org.eclipse.emf.mwe2.language.factory.Mwe2ExecutionEngine.internalSwitch(Mwe2ExecutionEngine.java:66) 
at org.eclipse.emf.mwe2.language.factory.Mwe2ExecutionEngine.inCase(Mwe2ExecutionEngine.java:80) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:296) 
at org.eclipse.emf.mwe2.language.factory.Mwe2ExecutionEngine.internalSwitch(Mwe2ExecutionEngine.java:66) 
at org.eclipse.emf.mwe2.language.factory.Mwe2ExecutionEngine.create(Mwe2ExecutionEngine.java:62) 
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:93) 
... 4 more 
Caused by: java.lang.reflect.InvocationTargetException 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at org.eclipse.emf.mwe2.language.factory.SettingProviderImpl$1$1.setValue(SettingProviderImpl.java:54) 
... 29 more 
Caused by: org.eclipse.emf.mwe.core.ConfigurationException: Couldn't find an interface 

org.eclipse.papyrusrt.xtumlrt.common.CommonPackage 
at org.eclipse.emf.mwe.utils.StandaloneSetup.addRegisterGeneratedEPackage(StandaloneSetup.java:483) 
... 34 more 

Maybe this is just a consequence of the first launch that has been run. But when trying to run the setup tasks manually again, using Help > Perform Setup Tasks..., the same error occurs for me again. First I had to do a Project > Clean... and the run the setup tasks once again to get it all to work.

I tried performing the setup from scratch twice (removing my repo, the installation and the workspace), and one additional thing that I could see was that the order between the different tasks was different. One thing was the first time I tried, the targlets task was performed *after* the build tasks. And I assume that if the targlets task has not been done, then the building can fail since the target platform has not been updated yet. The second time around though, the targlets task was performed before the building tasks. Not sure it this has any impact, and why the order changed (it could have been that I selected the subprojects to import in the Eclipse Installer, in a different order, which I guess could impact the order of tasks being performed during setup).

Not sure if this helps or not.

/Peter Cigéhn


On 13 May 2016 at 22:43, Ernesto Posse <eposse@xxxxxxxxxxxxx> wrote:
(Summary: Automatic EMF generation is failing for me but works for others. I'm stumped and I need more eyes on this. Can someone try the .setup from 70911, not from within an existing installation, but as a fresh install?)

As several of you know, I'm trying to get the developer setup to automatically generate code from our EMF models (gerrit 70911), but unfortunately it doesn't work for me, even from a completely clean slate with no Eclipse pre-installed, no .p2, no .m2, no .eclipse. 

The problem is this: during execution of the setup (after restarting) there are five Launch tasks:

Launch GenerateXtumlrtCommon.mwe2
Launch GenerateXtumlrtUmlrt.mwe2
Launch GenerateXtumlrtStatemachExt.mwe2
Launch GenerateXtumlrtStatemach.mwe2
Launch GenerateTumlrt.mwe2

The first four are the EMF models of our intermediate representation. The last is the Xtext project.

In my machine, if I execute this setup, on an existing workbench it works perfectly, but if I execute it from the Eclipse Installer, creating a new workbench with a new workspace and a new git repo, the first launch task (Common) doesn't execute, but the others do. Or more precisely, it starts executing, but it doesn't actually do anything. In the setup log I see the following:

Performing Launch GenerateXtumlrtCommon.mwe2
Execute Debug Command
Refresh resources...
Performing Launch GenerateXtumlrtUmlrt.mwe2

But between "Execute Debug Command" and "Refresh resources..." I should be seeing the output from the EMF code generator, as can be seen in the other launch tasks.

So it looks like the launch configuration is executed, but the actual MWE2 is not.

The weird thing is that there are no substantial differences between these launch tasks or the MWE2 workflows that they execute. In particular the Common and Statemach variants are almost identical, with the only differences being the name used to invoke the workflow and the name of the model passed to the EMF generator, which in both cases is correct.

The launch tasks and MWE2 workflows are located in the o.e.prt.xtumlrt.mmgenerators plugin (under plugins/xtumlrt/metamodel).

I don't understand why this is working for others. As I said, it does work *if* I run the setup tasks from an existing workbench, but not from the Eclipse Installer.

What could cause this? Are there any differences in running the setup task from an existing workbench and running it from the Eclipse Installer? Christian, Asma, when you got it to run, how did you run the setup? From the workbench or the Installer?



--
Ernesto Posse
Zeligsoft


_______________________________________________
papyrus-rt-dev mailing list
papyrus-rt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/papyrus-rt-dev


_______________________________________________
papyrus-rt-dev mailing list
papyrus-rt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/papyrus-rt-dev

_______________________________________________
papyrus-rt-dev mailing list
papyrus-rt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/papyrus-rt-dev


_______________________________________________
papyrus-rt-dev mailing list
papyrus-rt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/papyrus-rt-dev
_______________________________________________
papyrus-rt-dev mailing list
papyrus-rt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/papyrus-rt-dev

Back to the top