Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Papyrus » Papyrus-0.9.0M7 has Dependency Cycle(org.eclipse.papyrus.infra.tools and org.eclipse.papyrus.infra.widgets has Dependency Cycle)
Papyrus-0.9.0M7 has Dependency Cycle [message #871483] Mon, 14 May 2012 06:48 Go to next message
MyungWoon Oh is currently offline MyungWoon OhFriend
Messages: 30
Registered: March 2012
Member
Thanks to the release of M7,
I could build nearly all of the Papyrus-0.9.0M7.

Just one file has all remained problems, that is org.eclipse.papyrus.infra.tools.databinding.MultipleObservableList.java.

That file has actually 3 errors.

#1. Dependency Cycle
MultipleObservableList.commit(AbstractEditor editor) needs AbstractEditor and ICommitListener of org.eclipse.papyrus.infra.widget plug-in, which leads to the Dependency Cycle between org.eclipse.papyrus.infra.tools and org.eclipse.papyrus.infra.widgets

#2. Import sentence is wrong
AggregatedObservable class is in org.eclipse.papyrus.infra.tools.databinding package,
not in org.eclipse.papyrus.infra.widgets.databinding as source says.

#3. Need to implement the inherited abstract method
Need to implement 2 abstract method aggregate(IObservable), hasDifferentValues()

Please fix it.. Smile
Re: Papyrus-0.9.0M7 has Dependency Cycle [message #871991 is a reply to message #871483] Tue, 15 May 2012 09:03 Go to previous messageGo to next message
Camille Letavernier is currently offline Camille LetavernierFriend
Messages: 504
Registered: February 2011
Senior Member
This is surprising, as infra.tools doesn't depend on anything (Except the Papyrus log).

I cannot reproduce the error with my source installation.

By the way, MultipleObservableList should be excluded from the classpath (It is not included in the Papyrus build).


Camille Letavernier
Papyrus developer
Re: Papyrus-0.9.0M7 has Dependency Cycle [message #872373 is a reply to message #871991] Wed, 16 May 2012 01:45 Go to previous messageGo to next message
MyungWoon Oh is currently offline MyungWoon OhFriend
Messages: 30
Registered: March 2012
Member
Camille Letavernier wrote on Tue, 15 May 2012 05:03
This is surprising, as infra.tools doesn't depend on anything (Except the Papyrus log).

I cannot reproduce the error with my source installation.

By the way, MultipleObservableList should be excluded from the classpath (It is not included in the Papyrus build).


Thank you for the quick reply.

The attached file shows what I got from the official Papyrus download site - 'www.eclipse.org/downloads/download.php?file=/modeling/mdt/papyrus/downloads/drops/0.9.0/S201205090534/Papyrus-Update-0.9.0_M7.zip'

index.php/fa/9739/0/

The top picture of Eclipse Editor shows the source of org.eclipse.papyrus.infra.tools.databinding.MultipleObservableList.java.
Line 20 to 22 shows it depends on infra.widgets.
(I just made single line comment on line 20 because 'AggregatedObservable' is not of org.eclipse.papyrus.infra.widgets.databinding as the source says,
but of org.eclipse.papyrus.infra.tools.databinding, actually.)

The middle picture of Windows Explorer shows the contents of infra.tools.source.jar.
You can see MultipleObservableList.java which is not shown in the bottom picture showing the contents of infra.tools class jar.

As you can see, the source jar doesn't seem to match well with class jar.

If your reply is right, then the released source jar may be wrong.


Actually I found other wrong sources during the building.

For example, org.eclipse.papyrus.infra.widgets.xtext.adapter.IXtextAdapter.java does not exist in source jar nor in class jar.
But files below still implements the IXtextAdapter.
- org.eclipse.papyrus.uml.properties.xtext.CollaborationUseAdapter.java
- org.eclipse.papyrus.uml.properties.xtext.ConnectionPointReferenceAdapter.java
- org.eclipse.papyrus.uml.properties.xtext.MessageAdapter.java
- org.eclipse.papyrus.uml.properties.xtext.ParameterAdapter.java
- org.eclipse.papyrus.uml.properties.xtext.PropertyAdapter.java
- org.eclipse.papyrus.uml.properties.xtext.StateAdapter.java
- org.eclipse.papyrus.uml.properties.xtext.TransitionAdapter.java

and in 48 Line of IXtextAdapter.java
'public Injector getInjector();' should be 'public Injector getInjector(EObject sourceModelObject);'

I fixed IXtextAdapter problem by finding that file from older version of Papyrus and added to the 0.9.0M7 with some modification above and package name.

As a result, I dare to guess that released source jar need to be modified to match well with class jar which runs well(And your source file may not be the same as the released source jar)
Moreover, the problems I wrote above do exist in 0.8.X Build, too.

So I appreciate it so much if you or Papyrus Team check the whole source jar released for the Papyrus user.

Best regards.
Re: Papyrus-0.9.0M7 has Dependency Cycle [message #872488 is a reply to message #872373] Wed, 16 May 2012 08:07 Go to previous messageGo to next message
Camille Letavernier is currently offline Camille LetavernierFriend
Messages: 504
Registered: February 2011
Senior Member
It seems the "import source" doesn't take into account the .classpath file which is actually used to build Papyrus. Not too surprising, as this file isn't included in the binary nor in the source build.

So, that's a bug in our source builds.

All the file you mention are actually excluded from our builds ; they aren't supposed to be compiled. You can simply ignore them (Build path -> Exclude)


Camille Letavernier
Papyrus developer
Re: Papyrus-0.9.0M7 has Dependency Cycle [message #872945 is a reply to message #872488] Thu, 17 May 2012 06:42 Go to previous message
MyungWoon Oh is currently offline MyungWoon OhFriend
Messages: 30
Registered: March 2012
Member
Camille Letavernier wrote on Wed, 16 May 2012 04:07
It seems the "import source" doesn't take into account the .classpath file which is actually used to build Papyrus. Not too surprising, as this file isn't included in the binary nor in the source build.

So, that's a bug in our source builds.

All the file you mention are actually excluded from our builds ; they aren't supposed to be compiled. You can simply ignore them (Build path -> Exclude)


Thank you for the quick reply again. Smile

I just deleted the file 'org.eclipse.papyrus.infra.tools.databinding.MultipleObservableList.java' and fixed an import promblem in 'org.eclipse.papyrus.uml.alf.syntax.expressions.TemplateParameterSubstitution.java'.

Finally I got it worked. Laughing

But.. I think I find another runtime bug.
When I close the Eclipse after some model.di testing, Eclipse doesn't exit for a click.
I mean sometimes it exited after 2 clicks Exit(first click does nothing but producing error log), sometimes it doesn't exit at all producing error logs as attached below.
And I confirmed this bug happens on My Papyrus build as well as on the installed Papyrus.

Anyway, I appreciate your great help so much, Camille.
I just wait until the official Juno and Papyrus release.
Previous Topic:Eclipse freezing when changing to the Papyrus perspective
Next Topic:[Solved] Apply a default profile ?
Goto Forum:
  


Current Time: Thu Nov 27 22:32:38 GMT 2014

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

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