-
Notifications
You must be signed in to change notification settings - Fork 18
/
slack-web.cabal
251 lines (235 loc) · 6.24 KB
/
slack-web.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
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
cabal-version: 2.2
name: slack-web
version: 2.0.0.4
build-type: Simple
license: MIT
license-file: LICENSE.md
copyright: 2017 Juan Pedro Villa Isaza, 2022 Mercury Technologies, Inc
author: Juan Pedro Villa Isaza <[email protected]>, Jade Lovelace <software at lfcode dot ca>, Dennis Hennen <[email protected]>
maintainer: Jade Lovelace <software at lfcode dot ca>
homepage: https://github.com/MercuryTechnologies/slack-web
bug-reports: https://github.com/MercuryTechnologies/slack-web/issues
synopsis: Bindings for the Slack web API
description: Haskell bindings for the Slack web API.
extra-source-files:
tests/golden/SlackWebhookEvent/*.json
tests/golden/SlackWebhookEvent/*.golden
tests/golden/Conversation/*.json
tests/golden/Conversation/*.golden
tests/golden/UsersConversationsResponse/*.json
tests/golden/UsersConversationsResponse/*.golden
tests/golden/UpdateRsp/*.json
tests/golden/UpdateRsp/*.golden
tests/golden/BlockKitBuilderMessage/*.golden.json
tests/golden/FileObject/*.json
tests/golden/FileObject/*.golden
category: Web
tested-with: GHC == 8.10.7 || ==9.2.4 || == 9.4.2
extra-source-files:
CHANGELOG.md
README.md
common build-opts
ghc-options:
-Weverything
-- missing-exported-signatures turns off the more strict -Wmissing-signatures. See https://ghc.haskell.org/trac/ghc/ticket/14794#ticket
-Wno-missing-exported-signatures
-- Requires explicit export lists for every module, a pain for large modules
-Wno-missing-export-lists
-- Requires explicit imports of _every_ function (e.g. '$'); too strict
-Wno-missing-import-lists
-- When GHC can't specialize a polymorphic function. No big deal and requires fixing underlying libraries to solve.
-Wno-missed-specialisations
-- See missed-specialisations
-Wno-all-missed-specialisations
-- Don't use Safe Haskell warnings
-Wno-unsafe
-- Warning for polymorphic local bindings. Don't think this is an issue
-Wno-missing-local-signatures
-- Don't warn if the monomorphism restriction is used
-Wno-monomorphism-restriction
-- Cabal isn’t setting this currently (introduced in GHC 8.10)
-Wno-missing-safe-haskell-mode
-- Cabal’s generate Path_*.hs doesn’t do this (fixed in https://github.com/haskell/cabal/pull/7352)
-Wno-prepositive-qualified-module
-- Some tooling gives this error
-Wno-unused-packages
-- Warns on every single data declaration
-Wno-missing-kind-signatures
default-extensions:
AllowAmbiguousTypes
ApplicativeDo
BlockArguments
DataKinds
DeriveAnyClass
DeriveFoldable
DeriveFunctor
DeriveGeneric
DeriveTraversable
DerivingVia
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
ImportQualifiedPost
InstanceSigs
LambdaCase
MonoLocalBinds
MultiWayIf
NamedFieldPuns
NumericUnderscores
NoImplicitPrelude
OverloadedStrings
PatternSynonyms
PolyKinds
RankNTypes
RecordWildCards
RecursiveDo
ScopedTypeVariables
StandaloneDeriving
StandaloneKindSignatures
TypeApplications
TypeFamilies
ViewPatterns
library
import: build-opts
hs-source-dirs:
src
exposed-modules:
Web.Slack
Web.Slack.Api
Web.Slack.Auth
Web.Slack.Chat
Web.Slack.Classy
Web.Slack.Common
Web.Slack.Conversation
Web.Slack.Files.Types
Web.Slack.Internal
Web.Slack.MessageParser
Web.Slack.Pager
Web.Slack.Pager.Types
Web.Slack.Types
Web.Slack.User
Web.Slack.UsersConversations
Web.Slack.Experimental.Blocks
Web.Slack.Experimental.Blocks.Types
Web.Slack.Experimental.Events.Types
Web.Slack.Experimental.RequestVerification
other-modules:
Web.Slack.Util
Web.Slack.Prelude
Web.Slack.AesonUtils
build-depends:
aeson >= 2.0 && < 2.2
, base >= 4.11 && < 4.18
, base16-bytestring
, bytestring
, classy-prelude
, containers
, crypton
, data-default-class
, deepseq
, either
, errors
, hashable
, http-api-data >= 0.3 && < 0.6
, http-client >= 0.5 && < 0.8
, http-client-tls >= 0.3 && < 0.4
, megaparsec >= 5.0 && < 10
, mono-traversable
, mtl
, refined
, scientific
, servant >= 0.16 && < 0.20
, servant-client >= 0.16 && < 0.20
, servant-client-core >= 0.16 && < 0.20
, string-conversions
, string-variants >= 0.1.0.1
, text (>= 1.2 && < 1.3) || (>= 2.0 && < 2.1)
, time
, transformers
, unordered-containers
, vector
default-language:
Haskell2010
ghc-options:
-Wall
test-suite tests
import: build-opts
main-is:
Spec.hs
hs-source-dirs:
tests
type:
exitcode-stdio-1.0
other-modules:
JSONGolden
Web.Slack.PagerSpec
Web.Slack.MessageParserSpec
Web.Slack.ConversationSpec
Web.Slack.ChatSpec
Web.Slack.Files.TypesSpec
Web.Slack.UsersConversationsSpec
Web.Slack.Experimental.RequestVerificationSpec
Web.Slack.Experimental.Events.TypesSpec
Web.Slack.Experimental.BlocksSpec
Web.Slack.Experimental.Blocks.TypesSpec
TestImport
TestImport.Aeson
build-tool-depends:
hspec-discover:hspec-discover >=2.6.0 && <2.11
build-depends:
base
, QuickCheck
, aeson
, aeson-pretty
, bytestring
, classy-prelude
, fakepull
, generic-arbitrary
, hspec
, hspec-core
, hspec-golden
, mtl
, pretty-simple ^>= 4.1
, quickcheck-instances
, refined
, slack-web
, string-conversions
, string-variants
, template-haskell
, text
, th-compat
, time
default-language:
Haskell2010
ghc-options:
-Wall
flag cli
description: Build a CLI client for testing.
default: False
manual: True
executable slack-web-cli
import: build-opts
if flag(cli)
buildable: True
else
buildable: False
hs-source-dirs: main
main-is: cli.hs
build-depends:
base
, slack-web
, butcher
, bytestring
, monad-loops
, mtl
, pretty-simple ^>= 4.1
, text
, time
, servant-client-core
default-language:
Haskell2010
source-repository head
type: git
location: https://github.com/MercuryTechnologies/slack-web