Sprovoznení kompilace maven2 pod Emacs verze 22 ===

Obrázek uživatele benzin@jabber.cz
Vložil benzin@jabber.cz, Út, 2007-07-17 12:50 :: | |

Přešel jsem z XEmacsu, ktery se již nějakou dobu jeví jako téměř mrtvý na zbrusu nový Emacs verze 22 (v Gentoo třeba odmaskovat). Všechno jsem bez větších problémů rozjel, jenom kompilace skrz maven se zasekla na chybě spojené s CDPATH.

Po prozkoumání jde-maven.el jsem vytvořil tři funkce, které kompilaci spustí úspěšně. Rozdíl je v tom, že zatímco původní skript nastavoval aktuální adresář jako součást kompilace, můj skript nastaví nejprve aktuální adresář a následně spustí kompilaci. Není to sice tak výhodné, ale funguje to.

(defun benzin-jde-maven2-compile (project-file goal arguments)
  "Compile by maven."
 (compile (concat jde-maven-command " -f " (file-name-nondirectory project-file)
          " " arguments " " goal)))

(defun benzin-jde-maven2-cd-build (&optional project-file goal args)
  "Goto right directory and run compile."
 (list
  (cd (file-name-directory project-file))
  (benzin-jde-maven2-compile project-file goal args))
 )

(defun benzin-jde-maven2-build (&optional project-file goal args)
  "Do a standard maven build. Consider using the console ... :)"
  (interactive)
  (benzin-jde-maven2-cd-build (if project-file project-file (jde-maven-get-project-file))
    (if goal goal (jde-maven-get-goal))
    (if args args (jde-maven-get-arguments))))

]