From: Dirk M. <dmo...@gm...> - 2000-10-09 20:07:04
|
Hi developers, I'm going to give a history lesson now, please skip to the bottom if you get bored, at the end I'm going to ask you an important question. JCompiler is a real mess. I spent an evening to find out the features and differences of the various versions out there, and this was not fun, I tell you. Here's what I found out: 1. The version in the CVS is called 0.6. Kevin partially implemented some new features, before he left the project. He changed the package name from "jcompiler" to "net.sourceforge.jedit.jcompiler", switched from jmk to Ant (he needed to include a new version of Ant for some new features he used), and began with the implementation of a StackTraceParser: The StackTraceParser was meant to be used on compilation and runtime stack traces. The user should be able to double click on a line in the stack trace. JCompiler would try to find the source file and jump to the specific line. If the source could not be found, only a class file, JCompiler would try to decompile the class "on the fly" and show the generated source code. This was planned, but Kevin got only half way through. The CVS version needs Kevin's PluginHolder 0.0.5 (the version from Plugin Central) and the CVS version of BuildTools, which he called 0.0.12. I got it running, but it doesn't work: it does not compile anything. I don't know why, but I didn't check thoroughly. 2. Dominic Stolerman made some extensions and bugfixes on the last "official" JCompiler release 0.4.8 and called it 0.4.9. Kevin accused Dominic of forking the developement, and Mike decided to wait with the release on Plugin Central until the differences were sorted out. Unfortunately they never were. So now we got this two versions. Among other things, Dominic updated JCompiler to the new OptionPane API, gives warnings about missing tools.jar, removed StaticLogger references and the default shortcuts (S+F6 etc.). JCompiler 0.4.9 has the simple package name "jcompiler". This version works with PluginHolder-0.0.5 and BuildTools-0.0.9, both available from Plugin Central. Btw.: BuildTools-0.0.9 lives in the package "buildtools.*", while 0.0.12 lives in "net.sourceforge.jedit.buildtools.*". The difference between them is that 0.0.12 has some preliminary support for decompilation and parsing stack traces (not much, AFAICT). Why am I telling you all this? Because I'm going to propose that I discard Kevin's version and work on Dominic's. Not because I don't like Kevin's code (I do!), but because Dominic's version is closer to what I have in mind, and it is closer to maintainability. I don't think Kevin introduced anything essential in his new version. The StackTraceParser should go into a different plugin, probably Project Management, because it belongs to runtime execution, not compile time. So, I propose that Kevin's version in the CVS will be discarded. This sounds harsh, which is why I want to discuss this first. I hope you agree. Btw: if JCompiler uses ErrorList instead of its own "compile error messages" window, maybe only 3 classes remain, so from the base version there will be not much left anyway. Dirk. |