Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » IMP » Update site with IMP-based plugin(I would like to create an update site for an IMP based plugin, but have run into problems)
Update site with IMP-based plugin [message #523402] Fri, 26 March 2010 10:26
Thomas Jespersen is currently offline Thomas JespersenFriend
Messages: 6
Registered: February 2010
Junior Member

I'm not sure this is the right place to ask, but here goes: I'm creating an Eclipse plugin for a language called gbeta, and it's working quite well with IMP. So far I have a working plugin for the language that provides syntax highlight using the token colourer (one step at a time Smile ). Exporting the plugin was a bit of a poser, but (thanks to Bob) it finally works. So now I have two ways of "providing" the plugin: running it as an Eclipse application (meaning two Eclipses running - not a fan) and dropping the .jar in the eclipse/dropins folder (much better). But what we'd _really_ like is an update site - although as far as I understand update sites don't dump anything in the dropins folder. So my question is really how to create an update site?

I haven't got much experience with creating update sites (this being my first), but have read some instructions here and there, and as far as I can see I have to create a feature(.xml) that provides the plugin, lists its dependencies (IMP), and then a site.xml file. But what is the structure of the update site? My guess is:

|-- artifacts.jar
|-- content.jar
|-- features
|   |--
|-- plugins
|   |-- gbIDE_1.0.1.jar
|-- site.xml

but this doesn't work properly. It can be found as an update site (so I guess no problem with site.xml), but the plugin doesn't work. First and foremost I get the following error (which I think is due to the token colourer's dependency on org.eclipse.swt)

org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
at org.eclipse.swt.SWT.error(
at org.eclipse.swt.SWT.error(
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(
at org.eclipse.swt.widgets.Display.runAsyncMessages(
at org.eclipse.swt.widgets.Display.readAndDispatch(
at org.eclipse.ui.internal.Workbench.runEventLoop(
at org.eclipse.ui.internal.Workbench.runUI(
at org.eclipse.ui.internal.Workbench.access$4(
at org.eclipse.ui.internal.Workbench$
at org.eclipse.core.databinding.observable.Realm.runWithDefault(
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(
at org.eclipse.ui.internal.ide.application.IDEApplication.start(
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
at java.lang.reflect.Method.invoke(
at org.eclipse.equinox.launcher.Main.invokeFramework(
at org.eclipse.equinox.launcher.Main.basicRun(
Caused by: org.eclipse.swt.SWTException: Widget is disposed
at org.eclipse.swt.SWT.error(
at org.eclipse.swt.SWT.error(
at org.eclipse.swt.SWT.error(
at org.eclipse.swt.widgets.Widget.error(
at org.eclipse.swt.widgets.Widget.checkWidget(
at org.eclipse.swt.widgets.Widget.getData(
at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(
at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(
at org.eclipse.jface.viewers.StructuredViewer$
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(
at org.eclipse.jface.viewers.TreeViewer.preservingSelection(
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(
at org.eclipse.jface.viewers.StructuredViewer.refresh(
at org.eclipse.jface.viewers.ColumnViewer.refresh(
at org.eclipse.ui.dialogs.FilteredTree$NotifyingTreeViewer.refresh(
at org.eclipse.jface.viewers.StructuredViewer.refresh(
at org.eclipse.ui.dialogs.FilteredTree$NotifyingTreeViewer.refresh(
at org.eclipse.pde.internal.runtime.registry.RegistryBrowser.deferredRefresh(
at org.eclipse.pde.internal.runtime.registry.RegistryBrowser.refresh(
at org.eclipse.pde.internal.runtime.registry.RegistryBrowserModelChangeListener.update(
at org.eclipse.pde.internal.runtime.registry.RegistryBrowserModelChangeListener$
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(
... 22 more

As an aside, the plugin doesn't work if it's just dumped in the eclipse/plugins folder - anyone have a quick explanation for this?

Wow, this turned into a long post, but I hope this doesn't put anyone off reading it! I'll be happy to provide more detail, just let me know...

Thanks in advance,

[Updated on: Fri, 26 March 2010 10:27]

Report message to a moderator

Previous Topic:Ongoing work at IMP central
Next Topic:Update site with IMP-based plugin
Goto Forum:

Current Time: Tue Jan 17 13:38:02 GMT 2017

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

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