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
- 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...