mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-31 05:18:18 +00:00

Start adding java ETL examples, starting with kafka etl. We've had a few requests to start providing Java examples rather than Python due to type safety. I've also started to add these to metadata-ingestion-examples to make it clearer these are *examples*. They can be used directly or as a basis for other things. As we port to Java we'll move examples to contrib.
55 lines
1.6 KiB
Nix
55 lines
1.6 KiB
Nix
with import <nixpkgs> {} ;
|
|
let
|
|
inline_java_git = fetchFromGitHub {
|
|
owner = "tweag" ;
|
|
repo = "inline-java" ;
|
|
rev = "a897d32df99e4ed19314d2a7e245785152e9099d" ;
|
|
sha256 = "00pk19j9g0mm9sknj3aklz01zv1dy234s3vnzg6daq1dmwd4hb68" ;
|
|
} ;
|
|
haskellPackages = pkgs.haskellPackages.override {
|
|
overrides = self: super: with pkgs.haskell.lib; {
|
|
jni = overrideCabal (self.callCabal2nix "jni" (inline_java_git + /jni) {}) (drv: {
|
|
preConfigure = ''
|
|
local libdir=( "${pkgs.jdk}/lib/openjdk/jre/lib/"*"/server" )
|
|
configureFlags+=" --extra-lib-dir=''${libdir[0]}"
|
|
'' ;
|
|
}) ;
|
|
|
|
jvm = overrideCabal (self.callCabal2nix "jvm" (inline_java_git + /jvm) {}) (drv: {
|
|
doCheck = false ;
|
|
}) ;
|
|
inline-java = overrideCabal (self.callCabal2nix "inline-java" inline_java_git {}) (drv: {
|
|
doCheck = false ;
|
|
}) ;
|
|
jvm-batching = overrideCabal (self.callCabal2nix "jvm-batching" (inline_java_git + /jvm-batching) {}) (drv: {
|
|
doCheck = false ;
|
|
}) ;
|
|
jvm-streaming = overrideCabal (self.callCabal2nix "jvm-streaming" (inline_java_git + /jvm-streaming) {}) (drv: {
|
|
doCheck = false ;
|
|
}) ;
|
|
|
|
} ;
|
|
};
|
|
|
|
in
|
|
mkShell {
|
|
buildInputs = [
|
|
pkgs.jdk
|
|
pkgs.postgresql_jdbc
|
|
pkgs.mysql_jdbc
|
|
pkgs.mssql_jdbc
|
|
pkgs.oracle-instantclient
|
|
|
|
(haskellPackages.ghcWithPackages ( p:
|
|
[ p.bytestring p.string-conversions
|
|
p.interpolatedstring-perl6
|
|
p.aeson p.aeson-qq
|
|
p.exceptions
|
|
p.inline-java
|
|
|
|
p.conduit
|
|
]
|
|
))
|
|
];
|
|
}
|