Re: flymake integration for the eclipse java compiler

"Suraj Acharya" <[email protected]> Fri, 27 Apr 2007 09:01:32 -0700
Newsgroups gmane.emacs.jdee
Message-ID <[email protected]>
Hmmm, it sounds like the JDE process filter is not being restored
correctly. Do you also have jde-usages installed ?

Suraj

On 4/27/07, James Ahlborn <[email protected]> wrote:
>
>  to follow up with more details, it seems to be some sort of interaction
> with the bsh process that is the root of the problem.  once the
> jde-ecj-server-flymake-init method has run once and established some
> interaction with the beanshell process, anytime i try to open another java
> file and jde tries to load the project file with a
> "jde.util.JdeUtilities.setProjectValues()" command, it
> fails waiting for the beanshell process to respond.  if i then "revert" the
> buffer once open, the jde-mode starts successfully.  then i can manually
> invoke "flymake-mode" to get flymake working in the buffer.  obviously not
> an ideal interaction scenario (especially since there is a 30 second timeout
> waiting for the initial project file to load, which is the cause of the
> delay).  i'm currently using jde 2.3.5 (which is not the latest, i'm aware).
>
>  On Thu, 2007-04-26 at 16:10 -0700, Suraj Acharya wrote:
>  Hi James,
>
> Can you try getting the latest flymake.el from CVS, commenting out the
> line that looks like this:
>  (flymake-reformat-err-line-patterns-from-compile-el
> compilation-error-regexp-alist-alist))
>
> and uncommenting the previous line, ie the line that looks like this:
>
>  ;; compilation-error-regexp-alist)
>
> Suraj
>
> On 4/23/07, James Ahlborn
> <[email protected]> wrote:
> >
> > hey,
> > i gave this a fling on emacs 21.3 with the initial 0.3 version of flymake
> > (the first version checked into the emacs CVS tree), and i didn't get very
> > far at all. i patched and patched for an hour or so and finally gave up as
> > it seems the initial 0.3 version of flymake is very different from what
> > jde-eclipse-compiler-server was written against. i eventually got the
> > compilation to run, but the error buffer parsing was a mess. any chance
> the
> > jde stuff could be backported for us emacs 21 users? or, is there a more
> > recent version of flymake out there that is still 21.3 compatible?
> > thanks,
> > -james
> >
> >
> > On Wed, 2007-04-18 at 20:43 -0700, Suraj Acharya wrote:
> > Hello,
> >
> > I've updated the eclipse java compiler with JDE integration package at
> >
> http://www.emacswiki.org/cgi-bin/wiki/jde-eclipse-compiler-server.el
> > to take advantage of the -Xemacs flag in the 3.2 and newer versions of
> > the compiler.
> >
> > The docs to reflect the fact that the compiler is also available as a
> > small (1 MB) download completely independent from eclipse. The "JDT
> > Core Batch Compiler" at
> >
> http://download.eclipse.org/eclipse/downloads/drops/R-3.2.2-200702121330/index.php
> > has the latest (3.2.2) version.
> >
> > And I've also added flymake integration. From the usage notes:
> > ; * Flymake
> > ;;
> > ;; You have two options to hook the eclipse java compiler into flymake
> > ;; to get automatic error/warning information in your source buffers:
> > ;; (To use flymake with ecj you first have to select "eclipse java
> > ;; compiler server" as your jdee compiler.)
> > ;;
> > ;; 1) jde-ecj-flymake-init : This is the simple, robust and painfully slow
> > ;; method, in which flymake forks a new jvm process each time it
> > ;; decides to error check the buffer.
> > ;;
> > ;; To use this funtion set the java line in
> > ;; `flymake-allowed-file-name-masks' to
> > ;; (\"\\.java\\'\" jde-ecj-flymake-init jde-ecj-flymake-cleanup)"
> >
> > ;; 2) jde-ecj-server-flymake-init: This method involves flymake sending a
> > ;; compile command to the eclipse java compiler server in the JDEE
> > ;; bsh process, detecting when the compiler is done printing errors
> > ;; and warnings and then handing control of the bsh process back to
> > ;; JDEE. While it is much faster and compares well to the jikes
> > ;; flymake integration
> > ;;
> (http://www.emacswiki.org/cgi-bin/wiki/jde-flymake.el),
> > it
> > ;; requires some significant changes to `flymake-process-filter'
> > ;; and `flymake-start-syntax-check-process' and so is
> more
> > likely
> > ;; to be flaky, and cause problems if you use flymake with
> > ;; non-java buffers.
> > ;;
> > ;; To use this funtion set the java line in
> > ;; `flymake-allowed-file-name-masks' to
> > ;; (\"\\.java\\'\" jde-ecj-server-flymake-init jde-ecj-flymake-cleanup)"
> >
> > I've only tested this with CVS emacs and the included flymake (version
> > 0.3). Any volunteer beta-testers for other platforms.
> >
> > Suraj
> >
> >
>
>