-
Notifications
You must be signed in to change notification settings - Fork 2
/
api-tools.cabal
227 lines (190 loc) · 5.85 KB
/
api-tools.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
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
Name: api-tools
Version: 0.10.1.1
Synopsis: DSL for generating API boilerplate and docs
Description: api-tools provides a compact DSL for describing an API.
It uses Template Haskell to generate the
corresponding data types and assorted tools for
working with it, including Aeson and QuickCheck
instances for converting between JSON and the
generated types and writing unit tests.
Homepage: http://github.com/iconnect/api-tools
License: BSD3
License-file: LICENSE
Author: Chris Dornan <[email protected]> and Adam Gundry <[email protected]>
Maintainer: Adam Gundry <[email protected]>
Copyright: (c) Iris Connect 2013-2024
Category: Network, Web, Cloud, Distributed Computing
Build-type: Simple
Extra-source-files: changelog
Cabal-version: >=1.10
Tested-with: GHC == 9.4.8, GHC == 9.6.6, GHC == 9.8.2, GHC == 9.10.1
Source-Repository head
Type: git
Location: git://github.com/iconnect/api-tools.git
Source-Repository this
Type: git
Location: git://github.com/iconnect/api-tools.git
Tag: 0.10.1.0
flag use-attoparsec-aeson
description: Depend on Data.Aeson.Parser from attoparsec-aeson
default: True
manual: False
Library
Hs-Source-Dirs: src
Exposed-modules:
Data.API.API
Data.API.API.DSL
Data.API.API.Gen
Data.API.Changes
Data.API.Changes.Types
Data.API.Doc
Data.API.Doc.Subst
Data.API.Error
Data.API.JSON
Data.API.JSON.Compat
Data.API.JSONToCBOR
Data.API.Markdown
Data.API.NormalForm
Data.API.Parse
Data.API.PP
Data.API.TH
Data.API.Time
Data.API.Tools
Data.API.Tools.CBOR
Data.API.Tools.Combinators
Data.API.Tools.Datatypes
Data.API.Tools.DeepSeq
Data.API.Tools.Enum
Data.API.Tools.Example
Data.API.Tools.JSON
Data.API.Tools.JSONTests
Data.API.Tools.Lens
Data.API.Tools.QuickCheck
Data.API.Tools.SafeCopy
Data.API.Tools.Traversal
Data.API.Tutorial
Data.API.Types
Data.API.Utils
Data.API.Value
Data.Binary.Serialise.CBOR.Extra
Data.Binary.Serialise.CBOR.JSON
Other-modules:
Data.API.Doc.Call
Data.API.Doc.Dir
Data.API.Doc.Types
Data.API.Scan
Data.API.TH.Compat
Text.Regex
Build-depends:
QuickCheck >= 2.5.1 && < 2.16 ,
aeson-pretty >= 0.1 && < 0.9 ,
array >= 0.4 && < 0.6 ,
attoparsec >= 0.10.4 && < 0.15 ,
base >= 4.9 && < 5 ,
base16-bytestring >= 0.1 && < 1.1 ,
base64-bytestring >= 1.0 && < 1.3 ,
bytestring >= 0.9 && < 0.13 ,
case-insensitive >= 1.0 && < 1.3 ,
cborg >= 0.1.1.0 && < 0.3 ,
containers >= 0.5 && < 0.8 ,
deepseq >= 1.1 && < 1.6 ,
lens >= 3.8.7 && < 5.4 ,
regex-base >= 0.93 && < 0.95 ,
regex-tdfa >= 1.1.0 && < 1.4 ,
safe >= 0.3.3 && < 0.4 ,
safecopy >= 0.8.1 && < 0.11 ,
scientific >= 0.3 && < 0.4 ,
serialise >= 0.1.0.0 && < 0.3 ,
template-haskell >= 2.7 && < 2.23 ,
text >= 0.11.3 && < 2.2 ,
time >= 1.5.0 && < 1.14 ,
unordered-containers >= 0.2.3.0 && < 0.3 ,
vector >= 0.10.0.1 && < 0.14
if flag(use-attoparsec-aeson)
Build-Depends:
aeson >= 2.2 && < 2.3 ,
attoparsec-aeson >= 2.1 && < 2.3
else
Build-Depends:
aeson >= 0.10 && < 1.6 || >= 2.0 && < 2.2
Build-tools:
alex,
happy
GHC-Options:
-Wall
-fwarn-tabs
Default-Language: Haskell2010
Executable migration-tool
Hs-Source-Dirs: main
Main-is: MigrationTool.hs
Build-depends:
api-tools,
aeson,
aeson-pretty,
base,
bytestring
GHC-Options:
-Wall
-fwarn-tabs
Default-Language: Haskell2010
Executable perf-test
Hs-Source-Dirs: main
Main-is: PerfTest.hs
Build-depends:
api-tools,
QuickCheck,
aeson,
base,
deepseq,
serialise
GHC-Options:
-Wall
-fwarn-tabs
-rtsopts
Default-Language: Haskell2010
Test-Suite test-api-tools
Hs-Source-Dirs: tests
Type: exitcode-stdio-1.0
Main-is: Data/API/Test/Main.hs
Other-modules:
Data.API.Test.DSL
Data.API.Test.Gen
Data.API.Test.JSON
Data.API.Test.Migration
Data.API.Test.MigrationData
Data.API.Test.Time
Build-depends:
api-tools,
QuickCheck,
aeson,
aeson-pretty,
base,
base64-bytestring,
bytestring,
cborg,
containers,
safecopy,
serialise,
tasty >= 0.10.1 && < 1.5 ,
tasty-hunit >= 0.2 && < 10.0,
tasty-quickcheck >= 0.3 && < 0.11,
time,
template-haskell,
text,
unordered-containers
GHC-Options:
-Wall
Default-Language: Haskell2010
Benchmark bench-time
Hs-Source-Dirs: bench
Type: exitcode-stdio-1.0
Main-is: Main.hs
Build-depends:
api-tools,
base,
criterion,
text,
time
GHC-Options:
-Wall
Default-Language: Haskell2010