Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » IMP » Update site with IMP-based plugin
Update site with IMP-based plugin [message #577718] 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 :) ). 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(Synchr
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3468)
at org.eclipse.swt.widgets.Display.readAndDispatch( :3115)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2405)
at org.eclipse.ui.internal.Workbench.runUI(
at org.eclipse.ui.internal.Workbench.access$4( 21)
at org.eclipse.ui.internal.Workbench$
at org.eclipse.core.databinding.observable.Realm.runWithDefault (
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
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(NativeMethodAcce
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
at java.lang.reflect.Method.invoke(
at org.eclipse.equinox.launcher.Main.invokeFramework( 559)
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.internalRefresh Struct(
at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(T
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.preservingSelecti on(
at org.eclipse.jface.viewers.TreeViewer.preservingSelection(Tre
at org.eclipse.jface.viewers.StructuredViewer.preservingSelecti on(
at org.eclipse.jface.viewers.StructuredViewer.refresh(Structure
at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer. java:537)
at org.eclipse.ui.dialogs.FilteredTree$NotifyingTreeViewer.refr esh(
at org.eclipse.jface.viewers.StructuredViewer.refresh(Structure
at org.eclipse.ui.dialogs.FilteredTree$NotifyingTreeViewer.refr esh(
at ferredRefresh(
at fresh(
at org.eclipse.pde.internal.runtime.registry.RegistryBrowserMod elChangeListener.update(RegistryBrowserModelChangeListener.j ava:138)
at org.eclipse.pde.internal.runtime.registry.RegistryBrowserMod elChangeListener$ va:26)
at 5)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr
... 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,
Previous Topic:Update site with IMP-based plugin
Next Topic:New installation doesn't create Ast package
Goto Forum:

Current Time: Sat Apr 18 23:51:55 GMT 2015

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

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