2007. augusztus 8., szerda

JDBC build (kisérlet) mavennel

No, most gyakorlatban is kiderül, hogy mennyire jó az a build séma amit ihletett a PostgreSQL JDBC driver -szerintem kicsit nehézkes- build rendszere.
Eddig így ment: az ant-os build.xml megnézi hogy milyen JDK verzió van, ebből nyilván lehet tudni hogy milyen JDBC verzió érhető el. Minden funkcionalítás absztrakt osztályokban van implementálva, ami packagelve van jdbc verziónként, nyilván az új verziók a régieket subclassolják. Minden jdbcX csomagban benne vannak a konkrét osztályok is, ezek konkrétan semmit nem tartalmaznak, csak nem absztraktak. Ezeket kell csak kizárni a buildből, a konkrét osztályokat amik nem az aktuális JDBC verzióhoz tartoznak.
Ja még van egy teljesen plén kódgenerálás, hogy a Driver is tudja hogy miről van szó.
Ami fáj ebben, az az amikor Eclipse-ben a forrást editálni kell, meg kicsit nekem túl procedurálisnak tűnik az egész.

Ami most jön az leírva nem biztos hogy egyszerűbb. Egy JDBC project mavenesítve, a fenti követelményekkel... Ezt találtam ki:
  • A JDBC verziók szerint absztrakt és konkrét projectek.
  • Minden projekt egy nagy projektben modul.
  • A fő projekt profile-ok alkalmazásával belefoglalaja a buildbe azokat a projekteket amik az adott JDBC verzióhoz tartoznak
  • A projektek közt persze megfelelő függőségek
Nyitott kérdések:
  • A profile-okkal hogy lesz amikor a release, vagy az eclipse targetek futnak? Olyankor lehet nem kellene profile-ozni.
  • A tesztek egymásból kellene hogy öröklődjenek, csak akkor vajon hova kellene tennem őket...
Persze levegőbe-beszéd, majd lesz forráskód és szines ábrák, akkor egyszerre érthető lesz minden. Nem lesz több hibám, tévém is megjavul. Szóval érdekes tapasztalatok jönnek a következő pár napban.