Community
Participate
Working Groups
The plugin spy has a section called "The contributing plug-in:", that shows the plugin ID. It could be turned into a link, and when clicked, open the plugin manifest.
you're getting spoiled Willian ;d
I can provide a patch for this if you like, but I need to know if there is some API to open the plugin manifest editor (and handle all dirty things, like checking if it is already opened, etc...) given a bundle ID. After some little research, it sounds like org.eclipse.pde.internal.ui.editor.plugin.ManifestEditor.openPluginEditor(String id) do exactly what I want, but I cannot use it because it is on org.eclipse.pde.ui, while spy is on org.eclipse.pde.runtime (BTW, is not more appropriate to host spy on UI plugin?).
Check out SpyIDEUtil, I'd envision you adding a new method there to open an editor. Also, the reason it's in pde.runtime is because we want the spy to work without PDE UI/JDT etc... this is the case currently as if you don't have PDE UI / JDT available, the spy won't offer hyperlinks and instead just the full class qualified name. We'll have to create a fancier HyperLinkAdapter in SpyFormToolkit than we have now to handle the case of manifests ;) I definitely appreciate the contribution. Let me know if you need any help.
Yes, I already took care from the hyperlink stuff. That was the easy part. What is the relationship between pde.ui and pde.runtime? Who depends on what? I was initially thinking pde.ui was dependent on runtime, but it looks runtime is some kind of superset of core/ui. I'm thinking about introducing an optional dependency on pde.ui in pde.runtime, so I can use Manifest.openPluginEditor. Is that the right approach?
PDE runtime is an independent piece from PDE UI. PDE UI doesn't depend on runtime. PDE Runtime was meant as something you can drop in your RCP application or other applications to aid developers. Since we're only opening an editor here, can we do a: PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(editorInput, "org.eclipse.pde.ui.manifestEditor") That would avoid the extra dependency.
Chris, are you sure it is so simple? I'm taking a look at ManifestEditor.open(Object object, boolean source), and openExternalPlugin() and it handles a lot of cases just to get at the proper IEditorInput. Isn't it better to reuse all this logic?
Ok, make sure to add PDE UI as an optional dependency and also make sure the check in PDERuntimePlugin.HAS_IDE_BUNDLES includes PDE UI.
Created attachment 82913 [details] Proposed patch
Created attachment 82914 [details] mylyn/context/zip
Thanks Willian, will look at this for 3.4M4 inclusion.
Thanks Willian. I made a few small changes and released the patch into HEAD.
Good! Thanks for your help, Chris!
verified on I20071211-0010