From: Eric V. D. <erv...@gm...> - 2008-05-12 20:24:20
|
> > Please give the latest version a shot and report any issues to me. > > I checked out eclim and formic, but there is still so much missing. You don't need formic. That is only used to create an installer, which is for your purposes is unnecessary. > Do I really have to install all php, pydev, wst plugins for eclipse? No, as my first message in this thread noted, you can simply run: $ ant -Dplugins=ant,jdt to only build the specified plugins (ant and jdt in this case). > What additional settings do I need? The only setting you need is one which specifies where your eclipse install is located so that the build can deploy the plugins. If you try running ant and that setting is not found, then you will get an informative message indicating how to set it... like so: $ ant Buildfile: build.xml [echo] [echo] ${eclipse.home} not set. [echo] Please set via system arg (ant -Declipse.home=...) or [echo] via environment variable (export ECLIM_ECLIPSE_HOME="..."). [echo] BUILD FAILED eclim/build.xml:43: missing required property (see above) Total time: 0 seconds So, if my eclipse home is at /opt/eclipse then I would run: ant -Declipse.home=/opt/eclipse or for a windows example ant -Declipse.home="C:/Program Files/eclipse" > BTW: Is the project meant to be built from eclipse? Or do you use eclim > yourself ? I never use eclispe directly. Eclim was meant to be built via its ant build file. > Isn't there any developer documentation? Aside from the javadocs, not yet. > Perhaps you could give a very short outline of the internal > architecture. Here is what I have figured out from the sources: > > 1.) eclimd is a headless eclipse that manages a minimal set of > (eclipse)-plugins residing in src/eclipse/plugins. More or less, yes. > The plugins have no plugin.xml and seem to have no classes. The only true eclipse plugin is org.eclim, and as such, it is the only one that has a plugin.xml. The others are essentially just osgi bundles loaded by org.eclim. The actual java source files are located under src/java. > 2.) I can talk to eclimd with vim or "eclim". > ":PingEclim" is the same as "eclim -command ping" > "eclim" is just the class org.eclim.command.Main which calls > implementations of the java interface org.eclim.command.Command. Correct > 3.) These commands (magically) can perform eclipse actions like > CodeCompletion. Is this because both applications (eclimd and eclim) > live in the same JVM? I suppose the "magic" you are missing is performed by nailgun (http://www.martiansoftware.com/nailgun/), which allows you to invoke a main class running in another jvm using their command line client (written in c). I'll try to find some time to put together a more comprehensive document outlining eclim's design. Up until now it just hasn't been a high priority. -- eric |