chop-dbhi / dataexpress

[NOT MAINTAINED] DataExpress is a simple, Scala-based cross database ETL toolkit supporting Postgres, MySql, Oracle, SQLServer, and Sqlite
http://dataexpress.research.chop.edu
BSD 2-Clause "Simplified" License
72 stars 9 forks source link

Make database backends into modules #10

Closed mitalia closed 12 years ago

mitalia commented 12 years ago

We need to break out the database support so that backends are modules that can be built outside the main part of DataExpress. This removes the dependency of having to have every database driver for databases we support in order to do a build. I'm not as up to speed to on how to do this sensibly in Scala but it should be a high priority.

masinoa commented 12 years ago

The SqlBackendFactory now implements a java.util.ServiceLoader. SqlBackends can be compiled in separate projects and included in a given ETL process provided the backend project includes a META-INF/services/edu.chop.cbmi.dataExpress.backends.SqlBackendProvider file with a single value that is the fully resolved class that implements the edu.chop.cbmi.dataExpress.backends.SqlBackendProvider trait.