diff --git a/.gitignore b/.gitignore index b6fb3e7..2750a50 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ *.iml teradata-driver.iml .lein-repl-history +.cpcache \ No newline at end of file diff --git a/README.md b/README.md index 17cb270..83239f1 100644 --- a/README.md +++ b/README.md @@ -50,19 +50,19 @@ If you are running the Docker image or you want to use another directory for plu ## Building the Teradata Driver Yourself -### Prereqs: Install Metabase locally, compiled for building drivers - -```bash -cd /path/to/metabase/source -lein install-for-building-drivers -``` - -### Build it - -```bash -cd /path/to/teradata-driver -lein clean -DEBUG=1 LEIN_SNAPSHOTS_IN_RELEASE=true lein uberjar -``` - -This will build a file called `target/uberjar/teradata.metabase-driver.jar`; copy this to your Metabase `./plugins` directory. \ No newline at end of file +## One time setup of metdata + +You require metabase to be installed alongside of your project +1. cd metadata-teradata-driver/.. +2. git clone https://github.com/metabase/metabase +3. cd metabase +4. clojure -X:deps prep +5. cd modules/driver +6. clojure -X:deps prep +7. cd ../../../metadata-teradata-driver + +## Build +1. modify :paths in deps.edn, make them absolute +2. clojure -X:build + +This will build a file called `target/teradata.metabase-driver.jar`; copy this to your Metabase `./plugins` directory. \ No newline at end of file diff --git a/deps.edn b/deps.edn new file mode 100644 index 0000000..b05f303 --- /dev/null +++ b/deps.edn @@ -0,0 +1,25 @@ +{ + :paths [ + ; before building, you need to turn those into absolute paths + "src" + "resources" + ] + + ; build the driver with `clojure -X:build` assumes that: + ; 1. the metabase repo (https://github.com/metabase/metabase) exists in ../metabase + ; 2. the correct tag is checked out `git checkout v...` + ; 3. `clojure -X:deps prep` was run in ../metabase as well as in ../metabase/modules/drivers + ; 4. You have turned the relative :paths above into absolute paths + :aliases { + :build { + ;; as soon as extra-deps supports prep-lib we can use {:git/url "https://github.com/metabase/metabase.git" :git/tag "v0.41.7" :git/sha "5d45269b16"} + :extra-deps {metabase/metabase-core {:local/root "../metabase"} + metabase/build-drivers {:local/root "../metabase/bin/build-drivers"}} + :exec-fn build-drivers.build-driver/build-driver! + :exec-args {:driver :teradata + :project-dir "." + :target-dir "./target"} + + } + } +} \ No newline at end of file diff --git a/project.clj b/project.clj deleted file mode 100644 index a71934b..0000000 --- a/project.clj +++ /dev/null @@ -1,16 +0,0 @@ -(defproject metabase/teradata-driver "1.0.2-metabase-v0.40.8-teradata-jdbc-17.10" - :min-lein-version "2.5.0" - - :profiles - {:provided - {:dependencies - [[org.clojure/clojure "1.10.1"] - [metabase-core "1.0.0-SNAPSHOT"]]} - - :uberjar - {:auto-clean true - :aot :all - :omit-source true - :javac-options ["-target" "1.8", "-source" "1.8"] - :target-path "target/%s" - :uberjar-name "teradata.metabase-driver.jar"}}) diff --git a/resources/metabase-plugin.yaml b/resources/metabase-plugin.yaml index 921a04c..3265d52 100644 --- a/resources/metabase-plugin.yaml +++ b/resources/metabase-plugin.yaml @@ -1,11 +1,11 @@ info: name: Metabase Teradata Driver - version: 1.0.2-teradata-jdbc-17.10 + version: 1.0.2-metabase-v0.41.7-teradata-jdbc-17.10 description: Allows Metabase to connect to Teradata databases. Community Supported driver. dependencies: - class: com.teradata.jdbc.TeraDriver message: > - Metabase requires the Teradata terajdbc4.jar and tdgssconfig.jar in order to be able to connect to Teradata databases. + Metabase requires the Teradata terajdbc4.jar in order to be able to connect to Teradata databases. driver: name: teradata display-name: Teradata