Closed gayanper closed 9 years ago
Are you sure that you are using latest theme plugin?
The embedded xtend libraries are not exported to other plugins except plugins that belongs to this theme.
You can see x-friends
declaration in MENIFEST.MF
By the way,
I used standard xtend library as plugin dependency before. There were so many complains about it:
If i'm not mistaken, by making x-friends
in your MANIFEST.MF is for encouraging and discouraging access (access restriction on jar content) which might have no effect on class loading. So still the library classes from your library is loaded into the parent class loader since they must be available to your other bundle.
But if we can keep these classes inside each bundles class loaders then we might have no problem, but that introduce a library duplication and probably a class conflict if two plugins try to pass a object which is a type of this internal library.
What if we can create bundle out of your libraries and use them on both of your bundles as a dependency. This might solve the problem. I got this idea after reading through a bug report https://bugs.eclipse.org/bugs/show_bug.cgi?id=427862.
That sounds make sense. I will create a bundle plugin as you suggested.
When installing this plugin to gather with latest version of efxclipse (https://www.eclipse.org/efxclipse/index.html) and try to open a FXML file, the editor crash with a class conflict. This is due to the FXML editor uses latest xtext version and this plugin exports part of the xtext libraries which cause the class mixed up. But if i put this plugin artifacts inside the droppings folder in the eclipse extension layout (described in http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fp2_dropins_format.html) it will work without any class conflicts.
So will it be possible to either have the dependency on standard xtext library provided rather than bundling a custom version of old xtext lib and exporting it out ?