-
Notifications
You must be signed in to change notification settings - Fork 2
/
package.yaml
208 lines (200 loc) · 5.16 KB
/
package.yaml
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
name: slacklinker
version: 0.0.0
synopsis: Slack backlink bot
dependencies:
- adjunctions
- aeson
- attoparsec
- base >= 4.9 && <5
- base16-bytestring
- base64-bytestring
- bytestring
- classy-prelude
- cryptonite
- data-default-class
- directory
- either
- esqueleto
- exceptions
- extra
- generic-deriving
- hs-opentelemetry-api
- hs-opentelemetry-exporter-otlp
- hs-opentelemetry-instrumentation-http-client
- hs-opentelemetry-instrumentation-persistent
- hs-opentelemetry-instrumentation-wai
- hs-opentelemetry-sdk
- http-api-data
- http-client
- http-client-tls
- http-media
- http-types
- monad-logger
- mono-traversable
- network-uri
- optparse-applicative
- optparse-generic
- path-pieces
- pcre-heavy
- persistent
- persistent-postgresql
- postgres-options
- pretty-simple
- resource-pool
- safe
- scientific
- servant
- servant-client
- servant-client-core
- servant-server
- slack-web
- stm
- string-conversions
- template-haskell
- text
- th-abstraction
- time
- transformers
- typed-process
- unliftio
- unordered-containers
- uri-bytestring
- uuid
- vector
- wai
- warp
library:
source-dirs: src
executables:
slacklinker:
main: app/Main.hs
dependencies:
- slacklinker
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
one-off-task:
main: task/Main.hs
dependencies:
- slacklinker
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
# Test suite
tests:
test:
main: Main.hs
source-dirs:
- test
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
- -Wno-incomplete-uni-patterns # Failing at runtime just means failing the test, which is ok
- -O0
dependencies:
- HUnit
- hs-opentelemetry-instrumentation-hspec
- hspec
- hspec-core
- hspec-expectations
- hspec-golden >= 0.2
- slacklinker
- string-variants
- tmp-postgres
test-dev:
main: Main.hs
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
- -Wno-incomplete-uni-patterns # Failing at runtime just means failing the test, which is ok
- -O0
source-dirs:
- test
- src
dependencies:
- HUnit
- hs-opentelemetry-instrumentation-hspec
- hspec
- hspec-core
- hspec-expectations
- hspec-golden >= 0.2
- string-variants
- tmp-postgres
when:
- condition: flag(local-dev)
then:
buildable: true
else:
buildable: false
# from https://medium.com/mercury-bank/enable-all-the-warnings-a0517bc081c3
ghc-options:
- -Weverything
- -Wno-missing-exported-signatures # missing-exported-signatures turns off the more strict -Wmissing-signatures. See https://ghc.haskell.org/trac/ghc/ticket/14794#ticket
- -Wno-missing-export-lists # Requires explicit export lists for every module, a pain for large modules
- -Wno-missing-import-lists # Requires explicit imports of _every_ function (e.g. '$'); too strict
- -Wno-missed-specialisations # When GHC can't specialize a polymorphic function. No big deal and requires fixing underlying libraries to solve.
- -Wno-all-missed-specialisations # See missed-specialisations
- -Wno-unsafe # Don't use Safe Haskell warnings
- -Wno-missing-local-signatures # Warning for polymorphic local bindings. Don't think this is an issue
- -Wno-monomorphism-restriction # Don't warn if the monomorphism restriction is used
- -Wno-missing-safe-haskell-mode # Cabal isn’t setting this currently (introduced in GHC 8.10)
- -Wno-prepositive-qualified-module # Cabal’s generate Path_*.hs doesn’t do this (fixed in https://github.com/haskell/cabal/pull/7352)
- -Wno-unused-packages # Some tooling gives this error
- -Wno-missing-kind-signatures # Warns literally every type
# workaround for https://github.com/haskell/cabal/issues/4739
# in which -Werror is broken on macOS
#
# Root cause: since slacklinker's package name is slacklinker, *and* there
# are modules called Slacklinker.*, and cabal uses paths that can conflate
# these, the C preprocessor gets the wrong case of the path. Harmless.
- -optP-Wno-nonportable-include-path
default-extensions:
- AllowAmbiguousTypes
- BlockArguments
- DataKinds
- DeriveAnyClass
- DeriveFoldable
- DeriveFunctor
- DeriveGeneric
- DeriveTraversable
- DerivingVia
- DuplicateRecordFields
- FlexibleContexts
- FlexibleInstances
- FunctionalDependencies
- GADTs
- GeneralizedNewtypeDeriving
- ImportQualifiedPost
- InstanceSigs
- LambdaCase
- LexicalNegation
- MonoLocalBinds
- MultiWayIf
- NamedFieldPuns
- NoImplicitPrelude
- NumericUnderscores
- OverloadedLabels
- OverloadedStrings
- OverloadedRecordDot
- PartialTypeSignatures
- PatternSynonyms
- PolyKinds
- RankNTypes
- RecordWildCards
- RecursiveDo
- RoleAnnotations
- ScopedTypeVariables
- StandaloneDeriving
- StandaloneKindSignatures
- TypeApplications
- TypeFamilies
- ViewPatterns
flags:
local-dev:
description: Turn on development settings, like auto-reload templates.
manual: false
default: false