maven
maven-emacs-plugin a jde-maven2.el
Už nějakou dobu pošilhávám po dovednostech maven plugin pro eclipse. Bohužel oficiální plugin pro emacs existuje pouze pro maven verze 1 a pro maven verze 2 existuje jenom plagin s velmi základní funkčností.
Takže sem se rozhodl alespon nějakými patchi přispět do mlýna a doufám, že se tak zvýší šance na zařazení tohoto plagin do oficiální repozitorie.
Nejpve jsem chtěl pouze doplnit vygenerované soubory prj.el o vazbu na hlavní prj.el, ale když sem tak prohlížel co a jak ten plagin dělá a čím se liší od eclipse plaginu, dodělal sem několi dalších fitchurek.
Oprava kompilace pomocí maven2, Emacs 22
Původní jde-maven.el skript havaruje na problému s CDPATH. Můj opravený skript který jsem publikoval dříve zase trpěl problémem se změnou adresáře u otevřených souborů. Dnes přináším ještě jednu opravenou verzi, která již netrpí ani jedním z problémů. /---code (defun benzin-jde-maven2-build (&optional project-file goal args)
Emacs script pro parsovani chyboveho vystupu z Maven2
Programuju v jazyce JAVA a jako vyvojove prostredi (IDE) pouzivam Emacs resp. XEmacs. Ke zprave projektu (build, deploy, dokumentace atp.) jsem pouzival drive Ant, ale pred nekolika mesici jsem prevedl vsechny sve projektu na Maven2. Jedina a posledni bolistka, ktera oproti Antu zustavala byla horsi podpora prave v Emacsu. Z toho daleko nejvice mne stave absence rychle navigace v chybach.vzniklych pri kompilaci.
Maven2 jako použít testové třídy z jiného projektu
Dnes jsem narazil na problém s testováním. Mám interface IDAO, které implementují všechny objekty sloužící jako DAO. Proto logicky vyvstal požadavek na vytvoření abstraktní třídy která implementuje DAO právě pro užití v testech jako mock objekty. Jen mně překvapilo, že jsem to nepotřeboval dřív.
Jenže problém nastal při dědění z takovéto třídy v jiném projektu. Maven2 totiž odděluje třídy používané pro testy od tříd (tada nevím jak jinak je nazvat). Takže jak teda použí testovací třídy v jiném objektu? Nakonec jsem našel: guide-attached-tests
V podstaě musíte udělat dvě věci. V projektu po kterém požadujete, aby své testové třídy nabízel musíte přidat do buildu přidat plugin maven-jar-plugin a nastavení pro goual asi takhle:
<build>