Barry hi, I am trying to use your prj.el file for our builds, but since we use CVS and every developer may have checkout the source in a different directory, I wonder if it is possible to specify the location of the build file relative to prj.el itself.
My idea is to checkin on CVS "<TOP>/prj.el" and let then specify the buildfile relative to this location. Any ideas how to do this? TIA, Jose Alberto > -----Original Message----- > From: Barrie Treloar [mailto:[EMAIL PROTECTED] > Sent: Wednesday, September 20, 2000 12:53 AM > To: [EMAIL PROTECTED] > Subject: Get emacs to find the correct build.xml and > automatically pass > it to ant. > > > On 20 Sep 2000, Stefan Bodewig wrote: > > > It is useful for a lot of people I know - those using > (X)Emacs/JDE can > > now simply say "build using make" and set the make command > to ant and > > it will always pick up build.xml without the need to explicitly > > specify the -buildfile switch, for example. > > To do this with Emacs/JDE do the following: > > (I'll add this to FAQ when its working :) > > Customize jde-build-use-make and set it to true. > [This makes jde use make instead of its own internal builder] > > Customize jde-read-make-args and set it to true. > [This makes jde prompt you for the arguments to give to make. > You can just hit return if you dont want to pass any arguments > (the common case), otherwise you can include the target you > want invoked. Dont specify the build file to use, we will do > this another way] > > Customize jde-make-program and set it to "ant". > [This makes jde use "ant" instead of "make" as the > build program] > > To your .emacs files add the following, this causes jde to try > and load a prj.el file whenever you open a .java file. This > allows us to do some black magic a bit later. > ;; > ;; JDE mode > ;; > (require 'jde) > (add-hook 'jde-mode-hook > '(lambda () > (jde-load-project-file) > )) > > For each project hierarchy create a prj.el file at the top > level. JDE will search the directory hierarchy to find the > prj.el file and use the first one it finds. For example, if > you are in <TOP>/src/org/apache/tools/ant/ and you load > Main.java and the file <TOP>/prj.el exists it will load it. > The prj.el file will customize the jde-make-args to include > the correct build file based on the java file that was > loaded. > > The prj.el file should contain the following lisp code: > > ;;; > ;;; BEGIN prj.el > ;;; > > ;; > ;; This file is loaded by JDE-mode via JDE->Project->Project > File->Load. > ;; The only value that requires changing is the jde-make-args variable > ;; > ;; Notes: It is important to use make-local-variable as this allows > ;; each buffer to have its own version of the build.xml file. > ;; Therefore two source files from two different projects will > ;; correctly use the write build.xml file. > ;; > > ; The location of the Ant build file. > (make-local-variable 'jde-make-args) > (setq jde-make-args "-f <TOP>/build.xml") > > ;; You may want to add the following (this allows C-z C-z or > ;; "compile" to use ant instead of "make") This is more natural to > ;; old emacs hackers than C-c C-v C-b. > ; > ; Set C-z C-z to be the same as C-c C-v C-b inside jde major modes > ; > (local-set-key "\C-z\C-z" 'jde-build) > > ;;; > ;;; END prj.el > ;;; > > Happy hacking, > Barrie > -- > Barrie Treloar > ____________________________________________________________________ > > Barrie Treloar Phone: +61 8 8303 3300 > Senior Analyst/Programmer Fax: +61 8 8303 4403 > Electronic Commerce Division Email: [EMAIL PROTECTED] > Camtech (SA) Pty Ltd http://www.camtech.com.au > --- Level 8, 10 Pulteney Street, Adelaide SA 5000, Australia. --- > ____________________________________________________________________ > >
