jvm-streaming 0.3.2 → 0.4.0
raw patch · 3 files changed
+24/−10 lines, 3 filesdep ~inline-javadep ~jnidep ~jvm
Dependency ranges changed: inline-java, jni, jvm, jvm-batching
Files
- jvm-streaming.cabal +8/−6
- src/main/haskell/Language/Java/Streaming.hs +4/−1
- src/test/haskell/Main.hs +12/−3
jvm-streaming.cabal view
@@ -1,5 +1,5 @@ name: jvm-streaming-version: 0.3.2+version: 0.4.0 synopsis: Expose Java iterators as streams from the streaming package. description: Please see README.md. homepage: http://github.com/tweag/inline-java/tree/master/jvm-streaming#readme@@ -23,7 +23,7 @@ base, Cabal >= 1.24, inline-java >= 0.6.3,- jvm-batching >= 0.1 && <0.2+ jvm-batching >= 0.2 && <0.3 library hs-source-dirs: src/main/haskell src/cabal/haskell@@ -34,10 +34,10 @@ build-depends: base >= 4.7 && < 5, distributed-closure >= 0.3,- jni >= 0.4.0 && <0.8,- jvm >= 0.4.0 && <0.6,- jvm-batching >= 0.1 && <0.2,- inline-java >= 0.9 && <0.10,+ jni >= 0.8.0 && <0.9,+ jvm >= 0.6.0 && <0.7,+ jvm-batching >= 0.2 && <0.3,+ inline-java >= 0.10 && <0.11, singletons >= 2.6, streaming >= 0.1.4, vector@@ -54,11 +54,13 @@ base, hspec, inline-java,+ jni, jvm, jvm-streaming, streaming, text default-language: Haskell2010+ ghc-options: -threaded cpp-options: -DHSPEC_DISCOVER=hspec-discover
src/main/haskell/Language/Java/Streaming.hs view
@@ -239,7 +239,10 @@ v' <- liftIO $ [java| $jiterator.next() |] `withLocalRef` \jbatch -> JNI.getIntField jiterator fieldId- >>= reifyBatch (unsafeCast (jbatch :: JObject) :: J (Batch a))+ >>= \sz -> reifyBatch+ (unsafeCast (jbatch :: JObject) :: J (Batch a))+ sz+ (const True) go 0 v' else liftIO $ do
src/test/haskell/Main.hs view
@@ -1,16 +1,25 @@+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE QuasiQuotes #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TemplateHaskell #-} module Main where +import Control.Concurrent (runInBoundThread) import Data.List (intersperse) import qualified Data.Text as Text import qualified Data.Text.Encoding as Text-import Language.Java (withJVM)+import Foreign.JNI+import Language.Java.Inline (loadJavaWrappers) import Language.Java.Streaming.Jars (getJars) import qualified Spec import Test.Hspec + main :: IO () main = do jars <- getJars let classpath = concat $ intersperse ":" jars- withJVM [Text.encodeUtf8 $ Text.pack $ "-Djava.class.path=" ++ classpath] $- hspec Spec.spec+ withJVM [Text.encodeUtf8 $ Text.pack $ "-Djava.class.path=" ++ classpath] $ do+ loadJavaWrappers -- causes classes in jvm-batching.jar to be loaded+ -- since they are used in java quotations+ hspec $ around_ (runInBoundThread . runInAttachedThread) Spec.spec