jploski wrote on Thu Aug 10 19:28:16 MEST 2006:
I would like to make EPIC plug-ins importable with source code just like the Eclipse plug-ins. It would become a lot easier for users to peek into the source code and try out their hacks. According to the PDE documentation, a new plug-in must be introduced, which holds the source code and uses the org.eclipse.pde.core.source extension point. I tried it, and it simply does not work - the source code is not imported at all. Based on my tests with a small example plug-in, it seems that the plug-ins must be deployed as individual JARs rather than as directories. I don't know why. This deployment option is called a "best practice" by the Eclipse team, don't know why either. Anyway, converting the EPIC plug-ins to this format appears necessary. Unfortunately, this is not a trivial conversion for the following reasons: 1. We use some external libraries, such as ANTLR. The PDE page "Plug-Ins as Jars" seems to imply that no such dependencies are supported and that these libraries would have to reside in another plug-in (not deployed as a jar?). My tests show otherwise. 2. The plug-ins themselves assume that they are deployed as directories and access the resources directly through the file system rather than through Bundle.getEntry (some of these accesses are unavoidable - as in case of the brazil_mini.jar by the JVM spawned by the debugger). In short, I am probably going to perform some refactorings toward Bundle.getEntry and the single-jar deployment. I might also factor out the external libraries into another plug-in (org.epic.core? org.epic.lib?)
jgangemi wrote on Fri Aug 11 01:57:11 MEST 2006:
i'm not sure i understand what this is accomplishing (not that i am against it though). wouldn't the user already be using the epic source if they were trying out a hack? and when you talk about single jar deployment, do you mean a jar for each plugin, or a single epic jar period?
jploski wrote on Sun Aug 20 19:35:23 MEST 2006:
I mean a jar for each plug-in. Also, my remark about the classpath working on jarred jars turned out to be false - in order to be accessible, the external libraries must be in a separate plug-in, which is not deployed as jar. I was thinking about situations where an inclined user familiar with Java and Eclipse/PDE spots a bug and wants to take a closer look at it. My assumption is that it will be encouraging if she can just rely on the standard import-and-debug mechanism and it just works rather than go looking for CVS, pondering what to check out etc.
jgangemi wrote on Sun Aug 20 20:29:42 MEST 2006:
ahh - excellent idea.
jploski wrote on Tue Aug 22 01:07:23 MEST 2006:
I committed the necessary code changes to HEAD - mostly changes resulting from the fact that the Perl scripts are no longer accessible in the file system by default when the plug-ins are deployed as jars. You will have to check out org.epic.lib on which the other plug-ins depend from now on. I also checked in org.epic.source. However, this plug-in's content will be created automatically at release time, so the version in CVS is a kind of placeholder only. I am going to merge the changes into 'stable' next, mostly because I do not want to keep around two different versions of scripts used for creating releases (and to enable the 'import projects with source folders' feature for 'stable', too).
jploski wrote on Thu Aug 24 00:08:31 MEST 2006:
I just released the current HEAD as 'testing 0.5.1' - includes the new plug-ins (org.epic.source, org.epic.lib) and the new deployment format.
jgangemi wrote on Thu Aug 24 00:25:04 MEST 2006:
cool - i had to send my macbook in for repairs (grr!), so i'll give everything a whirl once i get it back.
jgangemi wrote on Thu Aug 24 00:26:33 MEST 2006:
i assume this also includes the toggle breakpoint and initial folding stuff as well? if so, that never made it into the Changelog, and i didn't look to see if you added it w/ the release.
jploski wrote on Thu Aug 24 00:45:54 MEST 2006:
Yes, the mentioned features are included. Thanks for the reminder. I now updated the Changelog accordingly (and moved the testing_0_5_1 tag).
jploski wrote on Sat Sep 2 15:56:02 MEST 2006:
I merged in the changes from HEAD, so the new plug-in deployment style is now also used in 'stable' (just released as 0.4.5).
Note: The above is an archived snapshot of a forum thread. Use the original thread at sf.net to post comments.