mirror of
https://github.com/unclechu/gRPC-haskell.git
synced 2024-11-15 23:59:42 +01:00
Merge branch 'clavoie-takt-extract-lowlevel' of github.com:clavoie-takt/gRPC-haskell into clavoie-takt-clavoie-takt-extract-lowlevel
This commit is contained in:
commit
d33e22e92c
37 changed files with 143 additions and 47 deletions
1
core/LICENSE
Symbolic link
1
core/LICENSE
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../LICENSE
|
1
core/README.md
Symbolic link
1
core/README.md
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../README.md
|
1
core/Setup.hs
Symbolic link
1
core/Setup.hs
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../Setup.hs
|
119
core/grpc-haskell-core.cabal
Normal file
119
core/grpc-haskell-core.cabal
Normal file
|
@ -0,0 +1,119 @@
|
||||||
|
name: grpc-haskell-core
|
||||||
|
version: 0.0.0.0
|
||||||
|
synopsis: Haskell implementation of gRPC layered on shared C library.
|
||||||
|
homepage: https://github.com/awakenetworks/gRPC-haskell
|
||||||
|
license: Apache-2.0
|
||||||
|
license-file: LICENSE
|
||||||
|
author: Awake Networks
|
||||||
|
maintainer: opensource@awakenetworks.com
|
||||||
|
copyright: Copyright 2016 Awake Networks
|
||||||
|
category: Network
|
||||||
|
build-type: Simple
|
||||||
|
cabal-version: >=1.10
|
||||||
|
|
||||||
|
Flag Debug
|
||||||
|
Description: Adds debug logging.
|
||||||
|
Manual: True
|
||||||
|
Default: False
|
||||||
|
|
||||||
|
library
|
||||||
|
build-depends:
|
||||||
|
base >=4.8 && <5.0
|
||||||
|
, clock >=0.6.0 && <0.8.0
|
||||||
|
, bytestring ==0.10.*
|
||||||
|
, stm == 2.4.*
|
||||||
|
, containers ==0.5.*
|
||||||
|
, managed >= 1.0.0 && < 1.1
|
||||||
|
, pipes >=4.1 && <=4.4
|
||||||
|
, transformers
|
||||||
|
, proto3-suite
|
||||||
|
, proto3-wire
|
||||||
|
|
||||||
|
, async ==2.1.*
|
||||||
|
, tasty >= 0.11 && <0.12
|
||||||
|
, tasty-hunit >= 0.9 && <0.10
|
||||||
|
, tasty-quickcheck >= 0.8.4 && < 0.9
|
||||||
|
, safe ==0.3.*
|
||||||
|
, vector
|
||||||
|
, sorted-list >=0.1.6.1 && <=0.3
|
||||||
|
|
||||||
|
c-sources:
|
||||||
|
cbits/grpc_haskell.c
|
||||||
|
exposed-modules:
|
||||||
|
-- NOTE: the order of these matters to c2hs.
|
||||||
|
Network.GRPC.Unsafe.Constants
|
||||||
|
Network.GRPC.Unsafe.Time
|
||||||
|
Network.GRPC.Unsafe.Slice
|
||||||
|
Network.GRPC.Unsafe.ChannelArgs
|
||||||
|
Network.GRPC.Unsafe.ByteBuffer
|
||||||
|
Network.GRPC.Unsafe.Metadata
|
||||||
|
Network.GRPC.Unsafe.Op
|
||||||
|
Network.GRPC.Unsafe
|
||||||
|
Network.GRPC.Unsafe.Security
|
||||||
|
Network.GRPC.LowLevel
|
||||||
|
Network.GRPC.LowLevel.Server.Unregistered
|
||||||
|
Network.GRPC.LowLevel.Client.Unregistered
|
||||||
|
Network.GRPC.LowLevel.CompletionQueue
|
||||||
|
Network.GRPC.LowLevel.CompletionQueue.Internal
|
||||||
|
Network.GRPC.LowLevel.CompletionQueue.Unregistered
|
||||||
|
Network.GRPC.LowLevel.GRPC
|
||||||
|
Network.GRPC.LowLevel.Op
|
||||||
|
Network.GRPC.LowLevel.Server
|
||||||
|
Network.GRPC.LowLevel.Call
|
||||||
|
Network.GRPC.LowLevel.Call.Unregistered
|
||||||
|
Network.GRPC.LowLevel.Client
|
||||||
|
extra-libraries:
|
||||||
|
grpc
|
||||||
|
includes:
|
||||||
|
include/grpc_haskell.h
|
||||||
|
, grpc/grpc.h
|
||||||
|
, grpc/status.h
|
||||||
|
, grpc/support/time.h
|
||||||
|
, grpc/impl/codegen/compression_types.h
|
||||||
|
, grpc/slice_buffer.h
|
||||||
|
, grpc/slice.h
|
||||||
|
build-tools: c2hs
|
||||||
|
default-language: Haskell2010
|
||||||
|
ghc-options: -Wall -fwarn-incomplete-patterns -fno-warn-unused-do-bind
|
||||||
|
include-dirs: include
|
||||||
|
hs-source-dirs: src
|
||||||
|
default-extensions: CPP
|
||||||
|
CC-Options: -std=c99
|
||||||
|
if flag(debug)
|
||||||
|
CPP-Options: -DDEBUG
|
||||||
|
CC-Options: -DGRPC_HASKELL_DEBUG -std=c99
|
||||||
|
|
||||||
|
test-suite tests
|
||||||
|
build-depends:
|
||||||
|
base >=4.8 && <5.0
|
||||||
|
, grpc-haskell-core
|
||||||
|
, bytestring ==0.10.*
|
||||||
|
, unix
|
||||||
|
, time
|
||||||
|
, async
|
||||||
|
, tasty >= 0.11 && <0.12
|
||||||
|
, tasty-hunit >= 0.9 && <0.10
|
||||||
|
, tasty-quickcheck >= 0.8.4 && < 0.9
|
||||||
|
, containers ==0.5.*
|
||||||
|
, managed >= 1.0.0 && < 1.1
|
||||||
|
, pipes >=4.1 && <=4.4
|
||||||
|
, proto3-suite
|
||||||
|
, transformers
|
||||||
|
, safe
|
||||||
|
, clock >=0.6.0 && <0.8.0
|
||||||
|
, turtle >= 1.2.0
|
||||||
|
, text
|
||||||
|
, QuickCheck >=2.8 && <3.0
|
||||||
|
other-modules:
|
||||||
|
LowLevelTests,
|
||||||
|
LowLevelTests.Op,
|
||||||
|
UnsafeTests
|
||||||
|
default-language: Haskell2010
|
||||||
|
ghc-options: -Wall -fwarn-incomplete-patterns -fno-warn-unused-do-bind -g -threaded -rtsopts
|
||||||
|
hs-source-dirs: tests
|
||||||
|
main-is: Properties.hs
|
||||||
|
type: exitcode-stdio-1.0
|
||||||
|
default-extensions: CPP
|
||||||
|
if flag(debug)
|
||||||
|
CPP-Options: -DDEBUG
|
||||||
|
CC-Options: -DGRPC_HASKELL_DEBUG
|
12
core/tests/Properties.hs
Normal file
12
core/tests/Properties.hs
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
import LowLevelTests
|
||||||
|
import LowLevelTests.Op
|
||||||
|
import Test.Tasty
|
||||||
|
import UnsafeTests
|
||||||
|
|
||||||
|
main :: IO ()
|
||||||
|
main = defaultMain $ testGroup "GRPC Unit Tests"
|
||||||
|
[ unsafeTests
|
||||||
|
, unsafeProperties
|
||||||
|
, lowLevelOpTests
|
||||||
|
, lowLevelTests
|
||||||
|
]
|
|
@ -33,6 +33,7 @@ library
|
||||||
, transformers
|
, transformers
|
||||||
, proto3-suite
|
, proto3-suite
|
||||||
, proto3-wire
|
, proto3-wire
|
||||||
|
, grpc-haskell-core
|
||||||
|
|
||||||
, async ==2.1.*
|
, async ==2.1.*
|
||||||
, tasty >= 0.11 && <0.12
|
, tasty >= 0.11 && <0.12
|
||||||
|
@ -42,46 +43,12 @@ library
|
||||||
, vector
|
, vector
|
||||||
, sorted-list >=0.1.6.1 && <=0.3
|
, sorted-list >=0.1.6.1 && <=0.3
|
||||||
|
|
||||||
c-sources:
|
|
||||||
cbits/grpc_haskell.c
|
|
||||||
exposed-modules:
|
exposed-modules:
|
||||||
-- NOTE: the order of these matters to c2hs.
|
|
||||||
Network.GRPC.Unsafe.Constants
|
|
||||||
Network.GRPC.Unsafe.Time
|
|
||||||
Network.GRPC.Unsafe.Slice
|
|
||||||
Network.GRPC.Unsafe.ChannelArgs
|
|
||||||
Network.GRPC.Unsafe.ByteBuffer
|
|
||||||
Network.GRPC.Unsafe.Metadata
|
|
||||||
Network.GRPC.Unsafe.Op
|
|
||||||
Network.GRPC.Unsafe
|
|
||||||
Network.GRPC.Unsafe.Security
|
|
||||||
Network.GRPC.LowLevel
|
|
||||||
Network.GRPC.LowLevel.Server.Unregistered
|
|
||||||
Network.GRPC.LowLevel.Client.Unregistered
|
|
||||||
Network.GRPC.LowLevel.CompletionQueue
|
|
||||||
Network.GRPC.LowLevel.CompletionQueue.Internal
|
|
||||||
Network.GRPC.LowLevel.CompletionQueue.Unregistered
|
|
||||||
Network.GRPC.LowLevel.GRPC
|
|
||||||
Network.GRPC.LowLevel.Op
|
|
||||||
Network.GRPC.LowLevel.Server
|
|
||||||
Network.GRPC.LowLevel.Call
|
|
||||||
Network.GRPC.LowLevel.Call.Unregistered
|
|
||||||
Network.GRPC.LowLevel.Client
|
|
||||||
Network.GRPC.HighLevel
|
Network.GRPC.HighLevel
|
||||||
Network.GRPC.HighLevel.Generated
|
Network.GRPC.HighLevel.Generated
|
||||||
Network.GRPC.HighLevel.Server
|
Network.GRPC.HighLevel.Server
|
||||||
Network.GRPC.HighLevel.Server.Unregistered
|
Network.GRPC.HighLevel.Server.Unregistered
|
||||||
Network.GRPC.HighLevel.Client
|
Network.GRPC.HighLevel.Client
|
||||||
extra-libraries:
|
|
||||||
grpc
|
|
||||||
includes:
|
|
||||||
include/grpc_haskell.h
|
|
||||||
, grpc/grpc.h
|
|
||||||
, grpc/status.h
|
|
||||||
, grpc/support/time.h
|
|
||||||
, grpc/impl/codegen/compression_types.h
|
|
||||||
, grpc/slice_buffer.h
|
|
||||||
, grpc/slice.h
|
|
||||||
build-tools: c2hs
|
build-tools: c2hs
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
ghc-options: -Wall -fwarn-incomplete-patterns -fno-warn-unused-do-bind
|
ghc-options: -Wall -fwarn-incomplete-patterns -fno-warn-unused-do-bind
|
||||||
|
@ -101,6 +68,7 @@ executable hellos-server
|
||||||
, bytestring == 0.10.*
|
, bytestring == 0.10.*
|
||||||
, containers ==0.5.*
|
, containers ==0.5.*
|
||||||
, grpc-haskell
|
, grpc-haskell
|
||||||
|
, grpc-haskell-core
|
||||||
, proto3-suite
|
, proto3-suite
|
||||||
, proto3-wire
|
, proto3-wire
|
||||||
, text
|
, text
|
||||||
|
@ -120,6 +88,7 @@ executable hellos-client
|
||||||
, bytestring == 0.10.*
|
, bytestring == 0.10.*
|
||||||
, containers ==0.5.*
|
, containers ==0.5.*
|
||||||
, grpc-haskell
|
, grpc-haskell
|
||||||
|
, grpc-haskell-core
|
||||||
, proto3-suite
|
, proto3-suite
|
||||||
, proto3-wire
|
, proto3-wire
|
||||||
, text
|
, text
|
||||||
|
@ -139,6 +108,7 @@ executable echo-server
|
||||||
, bytestring == 0.10.*
|
, bytestring == 0.10.*
|
||||||
, containers ==0.5.*
|
, containers ==0.5.*
|
||||||
, grpc-haskell
|
, grpc-haskell
|
||||||
|
, grpc-haskell-core
|
||||||
, optparse-generic
|
, optparse-generic
|
||||||
, proto3-suite
|
, proto3-suite
|
||||||
, proto3-wire
|
, proto3-wire
|
||||||
|
@ -162,6 +132,7 @@ executable arithmetic-server
|
||||||
, bytestring == 0.10.*
|
, bytestring == 0.10.*
|
||||||
, containers ==0.5.*
|
, containers ==0.5.*
|
||||||
, grpc-haskell
|
, grpc-haskell
|
||||||
|
, grpc-haskell-core
|
||||||
, optparse-generic
|
, optparse-generic
|
||||||
, proto3-suite
|
, proto3-suite
|
||||||
, proto3-wire
|
, proto3-wire
|
||||||
|
@ -184,6 +155,7 @@ executable arithmetic-client
|
||||||
, bytestring == 0.10.*
|
, bytestring == 0.10.*
|
||||||
, containers ==0.5.*
|
, containers ==0.5.*
|
||||||
, grpc-haskell
|
, grpc-haskell
|
||||||
|
, grpc-haskell-core
|
||||||
, optparse-generic
|
, optparse-generic
|
||||||
, proto3-suite
|
, proto3-suite
|
||||||
, proto3-wire
|
, proto3-wire
|
||||||
|
@ -206,6 +178,7 @@ executable echo-client
|
||||||
, bytestring == 0.10.*
|
, bytestring == 0.10.*
|
||||||
, containers ==0.5.*
|
, containers ==0.5.*
|
||||||
, grpc-haskell
|
, grpc-haskell
|
||||||
|
, grpc-haskell-core
|
||||||
, optparse-generic
|
, optparse-generic
|
||||||
, proto3-suite
|
, proto3-suite
|
||||||
, proto3-wire
|
, proto3-wire
|
||||||
|
@ -243,9 +216,6 @@ test-suite tests
|
||||||
, text
|
, text
|
||||||
, QuickCheck >=2.8 && <3.0
|
, QuickCheck >=2.8 && <3.0
|
||||||
other-modules:
|
other-modules:
|
||||||
LowLevelTests,
|
|
||||||
LowLevelTests.Op,
|
|
||||||
UnsafeTests,
|
|
||||||
GeneratedTests
|
GeneratedTests
|
||||||
default-language: Haskell2010
|
default-language: Haskell2010
|
||||||
ghc-options: -Wall -fwarn-incomplete-patterns -fno-warn-unused-do-bind -g -threaded -rtsopts
|
ghc-options: -Wall -fwarn-incomplete-patterns -fno-warn-unused-do-bind -g -threaded -rtsopts
|
||||||
|
|
|
@ -7,6 +7,7 @@ resolver: lts-8.23
|
||||||
# Local packages, usually specified by relative directory name
|
# Local packages, usually specified by relative directory name
|
||||||
packages:
|
packages:
|
||||||
- '.'
|
- '.'
|
||||||
|
- 'core'
|
||||||
- location:
|
- location:
|
||||||
git: git@github.com:awakenetworks/proto3-suite.git
|
git: git@github.com:awakenetworks/proto3-suite.git
|
||||||
commit: bb66853dcaa7372ef061cf83f39e4ba5193898de
|
commit: bb66853dcaa7372ef061cf83f39e4ba5193898de
|
||||||
|
|
|
@ -1,14 +1,5 @@
|
||||||
import LowLevelTests
|
|
||||||
import LowLevelTests.Op
|
|
||||||
import Test.Tasty
|
import Test.Tasty
|
||||||
import UnsafeTests
|
|
||||||
import GeneratedTests
|
import GeneratedTests
|
||||||
|
|
||||||
main :: IO ()
|
main :: IO ()
|
||||||
main = defaultMain $ testGroup "GRPC Unit Tests"
|
main = defaultMain $ testGroup "GRPC Unit Tests" [ generatedTests ]
|
||||||
[ unsafeTests
|
|
||||||
, unsafeProperties
|
|
||||||
, lowLevelOpTests
|
|
||||||
, lowLevelTests
|
|
||||||
, generatedTests
|
|
||||||
]
|
|
||||||
|
|
Loading…
Reference in a new issue