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 Jespersen
Messages: 6
Registered: February 2010
Junior Member
Hi,

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:

gbeta_updatesite/
|-- artifacts.jar
|-- content.jar
|-- features
|   |-- dk.au.cs.gbeta_1.0.0.jar
|-- 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(SWT.java:3884)
at org.eclipse.swt.SWT.error(SWT.java:3799)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:137)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3468)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3115)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
Caused by: org.eclipse.swt.SWTException: Widget is disposed
at org.eclipse.swt.SWT.error(SWT.java:3884)
at org.eclipse.swt.SWT.error(SWT.java:3799)
at org.eclipse.swt.SWT.error(SWT.java:3770)
at org.eclipse.swt.widgets.Widget.error(Widget.java:450)
at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:388)
at org.eclipse.swt.widgets.Widget.getData(Widget.java:476)
at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2620)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1863)
at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:716)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1838)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1794)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1780)
at org.eclipse.jface.viewers.StructuredViewer$7.run(StructuredViewer.java:1457)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1392)
at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:402)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1353)
at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1455)
at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:537)
at org.eclipse.ui.dialogs.FilteredTree$NotifyingTreeViewer.refresh(FilteredTree.java:1205)
at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1414)
at org.eclipse.ui.dialogs.FilteredTree$NotifyingTreeViewer.refresh(FilteredTree.java:1195)
at org.eclipse.pde.internal.runtime.registry.RegistryBrowser.deferredRefresh(RegistryBrowser.java:664)
at org.eclipse.pde.internal.runtime.registry.RegistryBrowser.refresh(RegistryBrowser.java:713)
at org.eclipse.pde.internal.runtime.registry.RegistryBrowserModelChangeListener.update(RegistryBrowserModelChangeListener.java:138)
at org.eclipse.pde.internal.runtime.registry.RegistryBrowserModelChangeListener$1.run(RegistryBrowserModelChangeListener.java:26)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
... 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,
Thomas

[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: Sun Sep 21 06:24:03 GMT 2014

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

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