-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhaskell-starter-webservice.cabal
197 lines (159 loc) · 6.19 KB
/
haskell-starter-webservice.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
-- Initial haskell-starter-webservice.cabal generated by cabal init. For
-- further documentation, see http://haskell.org/cabal/users-guide/
-- The name of the package.
name: haskell-starter-webservice
-- The package version. See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- https://wiki.haskell.org/Package_versioning_policy
-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version: 0.1.0.0
-- A short (one-line) description of the package.
synopsis: A simple webservice
-- A longer description of the package.
-- description:
-- The license under which the package is released.
license: MIT
-- The file containing the license text.
license-file: LICENSE
-- The package author(s).
author: REPLACE_ME
-- An email address to which users can send suggestions, bug reports, and
-- patches.
maintainer: REPLACE_ME
-- A copyright notice.
-- copyright:
category: Web
build-type: Simple
-- Extra files to be distributed with the package, such as examples or a
-- README.
extra-source-files: README.md
-- Constraint on the version of Cabal needed to build this package.
cabal-version: >=1.10
-- The primary bundle package where this service's code will reside
library
exposed-modules: App
,GitHub.API
,GitHub.API.Clients
-- Other library packages from which modules are imported.
build-depends: base
-- You will need to replace the following line with the same
-- name you set for the package (on line 5)
,aeson
,aeson-casing
,haskell-starter-webservice-api
,http-client
,http-client-tls
,http-types
,servant
,servant-client
,servant-server
,servant-server
,text
,warp
-- Directories containing source files.
hs-source-dirs: app
default-extensions: DataKinds
,DeriveGeneric
,GADTs
,OverloadedStrings
,TypeFamilies
,TypeOperators
-- Base language which the package is written in.
default-language: Haskell2010
-- A package for the API exposed by this service.
-- Publishing this standalone allows others to create clients for our API
-- with servant.
library haskell-starter-webservice-api
-- Modules exported by the library.
exposed-modules: API
,Fruit.API
,Greeting.API
-- Modules included in this library but not exported.
-- other-modules:
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
-- Other library packages from which modules are imported.
build-depends: base
,aeson
,servant-server
-- Directories containing source files.
hs-source-dirs: api
-- Base language which the package is written in.
default-language: Haskell2010
-- A bunch of GHC extensions that will be available by default
default-extensions: DataKinds
,DeriveGeneric
,GADTs
,OverloadedStrings
,TypeFamilies
,TypeOperators
-- A simple package that just produces an executable for this service.
-- The test suites cannot import from an executable, so we want to have
-- the vast majority of our service's code in library packages.
executable server
-- .hs or .lhs file containing the Main module.
main-is: Main.hs
-- Other library packages from which modules are imported.
build-depends: base
,haskell-starter-webservice
,warp
-- Directories containing source files.
hs-source-dirs: server
default-extensions: DataKinds
,DeriveGeneric
,GADTs
,OverloadedStrings
,TypeFamilies
,TypeOperators
-- Base language which the package is written in.
default-language: Haskell2010
-- A server that will host Swagger-UI and use the definitions from the
-- api package defined above.
executable docserver
main-is: Main.hs
hs-source-dirs: docserver
default-language: Haskell2010
build-depends: base
-- You will need to replace the following line with the same
-- name you set for the package (on line 5)
,haskell-starter-webservice-api
,lens
,servant-docs
,servant-server
,servant-swagger
,servant-swagger-ui
,swagger2
,warp
-- A test suite for verifying our code works as expected
test-suite unit-tests
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
other-modules: Specs
build-depends: base
,aeson
,bytestring
,haskell-starter-webservice
,haskell-starter-webservice-api
,hspec
,hspec-junit-formatter
,hspec-wai
,http-client
,http-types
,servant-client
,servant-server
,text
,wai-extra
,warp
build-tool-depends:
hspec-discover:hspec-discover
-- Base language which the package is written in.
default-language: Haskell2010
default-extensions: DataKinds
,DeriveGeneric
,GADTs
,OverloadedStrings
,TypeFamilies
,TypeOperators