-
Notifications
You must be signed in to change notification settings - Fork 53
/
Copy pathswarm.cabal
272 lines (257 loc) · 11 KB
/
swarm.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
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
cabal-version: 2.4
name: swarm
version: 0.1.1.0
synopsis: 2D resource gathering game with programmable robots
description: Swarm is a 2D programming and resource gathering
game. Program your robots to explore the world and
collect resources, which in turn allows you to
build upgraded robots that can run more
interesting and complex programs. See the README
for more information and instructions on how to
play or contribute!
license: BSD-3-Clause
license-file: LICENSE
author: Brent Yorgey
maintainer: byorgey@gmail.com
bug-reports: https://github.com/swarm-game/swarm/issues
copyright: Brent Yorgey 2021
category: Game
tested-with: GHC ==8.10.7 || ==9.0.2 || ==9.2.4 || ==9.4.2
extra-source-files: CHANGELOG.md
example/*.sw
editors/emacs/*.el
editors/vscode/syntaxes/*.json
data-dir: data/
data-files: *.yaml, scenarios/**/*.yaml, scenarios/**/*.txt, scenarios/**/*.sw, *.txt
source-repository head
type: git
location: git://github.com/swarm-game/swarm.git
flag ci
description: Make warnings error
default: False
manual: True
common common
if flag(ci)
ghc-options: -Werror
ghc-options: -Wall
-Wcompat
-Widentities
-Wincomplete-uni-patterns
-Wincomplete-record-updates
-Wno-star-is-type
if impl(ghc >= 8.4)
ghc-options: -Wpartial-fields
default-language: Haskell2010
common stan-config
ghc-options: -fwrite-ide-info
-hiedir=.hie
-- Harmless extensions from GHC2021
common ghc2021-extensions
ghc-options: -Wprepositive-qualified-module
default-extensions:
BangPatterns
DeriveAnyClass
DeriveDataTypeable
DeriveFunctor
DeriveGeneric
DeriveTraversable
ExplicitForAll
FlexibleContexts
FlexibleInstances
GADTSyntax
MultiParamTypeClasses
NumericUnderscores
RankNTypes
ScopedTypeVariables
StandaloneDeriving
TupleSections
TypeApplications
TypeOperators
-- Note we warn on prequalified
ImportQualifiedPost
-- Not GHC2021, but until we get \cases we use \case a lot
LambdaCase
library
import: stan-config, common, ghc2021-extensions
exposed-modules: Swarm.Language.Context
Swarm.Language.Types
Swarm.Language.Syntax
Swarm.Language.Capability
Swarm.Language.Requirement
Swarm.Language.Parse
Swarm.Language.Parse.QQ
Swarm.Language.Pretty
Swarm.Language.Typecheck
Swarm.Language.Typed
Swarm.Language.Elaborate
Swarm.Language.LSP
Swarm.Language.Pipeline
Swarm.Language.Pipeline.QQ
Swarm.Game.CESK
Swarm.Game.Scenario
Swarm.Game.ScenarioInfo
Swarm.Game.Display
Swarm.Game.Entity
Swarm.Game.Exception
Swarm.Game.Recipe
Swarm.Game.Robot
Swarm.Game.State
Swarm.Game.Step
Swarm.Game.Terrain
Swarm.Game.Value
Swarm.Game.World
Swarm.Game.WorldGen
Swarm.TUI.Attr
Swarm.TUI.Border
Swarm.TUI.List
Swarm.TUI.Panel
Swarm.TUI.Model
Swarm.TUI.View
Swarm.TUI.Controller
Swarm.TUI.Inventory.Sorting
Swarm.App
Swarm.Version
Swarm.Web
Swarm.Util
Swarm.DocGen
Swarm.Util.Yaml
other-modules: Paths_swarm
autogen-modules: Paths_swarm
build-depends: base >= 4.14 && < 4.18,
aeson >= 2 && < 2.2,
array >= 0.5.4 && < 0.6,
brick >= 1.0 && < 1.4,
bytestring >= 0.10 && < 0.12,
clock >= 0.8.2 && < 0.9,
containers >= 0.6.2 && < 0.7,
directory >= 1.3 && < 1.4,
dotgen >= 0.4 && < 0.5,
either >= 5.0 && < 5.1,
extra >= 1.7 && < 1.8,
filepath >= 1.4 && < 1.5,
fused-effects >= 1.1.1.1 && < 1.2,
fused-effects-lens >= 1.2.0.1 && < 1.3,
githash >= 0.1.6 && < 0.2,
hashable >= 1.3.4 && < 1.5,
hsnoise >= 0.0.3 && < 0.1,
http-client >= 0.7 && < 0.8,
http-client-tls >= 0.3 && < 0.4,
http-types >= 0.12 && < 0.13,
lens >= 4.19 && < 5.3,
linear >= 1.21.6 && < 1.22,
lsp >= 1.2 && < 1.7,
megaparsec >= 9.0 && < 9.3,
minimorph >= 0.3 && < 0.4,
mtl >= 2.2.2 && < 2.3,
murmur3 >= 1.0.4 && < 1.1,
natural-sort >= 0.1.2 && < 0.2,
parser-combinators >= 1.2 && < 1.4,
prettyprinter >= 1.7.0 && < 1.8,
random >= 1.2.0 && < 1.3,
servant >= 0.19 && < 0.20,
servant-server >= 0.19 && < 0.20,
simple-enumeration >= 0.2 && < 0.3,
split >= 0.2.3 && < 0.3,
stm >= 2.5.0 && < 2.6,
syb >= 0.7 && < 0.8,
tagged >= 0.8 && < 0.9,
template-haskell >= 2.16 && < 2.20,
text >= 1.2.4 && < 2.1,
time >= 1.9 && < 1.14,
unification-fd >= 0.11 && < 0.12,
unordered-containers >= 0.2.14 && < 0.3,
vector >= 0.12 && < 0.14,
vty >= 5.33 && < 5.38,
wai >= 3.2 && < 3.3,
warp >= 3.2 && < 3.4,
witch >= 1.1.1.0 && < 1.2,
word-wrap >= 0.5 && < 0.6,
yaml >= 0.11 && < 0.12,
hs-source-dirs: src
default-language: Haskell2010
default-extensions:
-- Avoid unexpected unevaluated thunk buildup
-- See discussion in #415
StrictData
executable swarm
import: stan-config, common
main-is: Main.hs
build-depends: optparse-applicative >= 0.16 && < 0.18,
githash >= 0.1.6 && < 0.2,
-- Imports shared with the library don't need bounds
base,
text,
swarm
hs-source-dirs: app
default-language: Haskell2010
ghc-options: -threaded
default-extensions: ImportQualifiedPost
test-suite swarm-unit
import: stan-config, common, ghc2021-extensions
main-is: Main.hs
type: exitcode-stdio-1.0
other-modules: TestEval
TestInventory
TestModel
TestNotification
TestLanguagePipeline
TestPretty
TestUtil
build-depends: tasty >= 0.10 && < 1.5,
tasty-hunit >= 0.10 && < 0.11,
tasty-quickcheck >= 0.10 && < 0.11,
QuickCheck >= 2.14 && < 2.15,
-- Imports shared with the library don't need bounds
aeson,
base,
containers,
filepath,
hashable,
lens,
linear,
mtl,
swarm,
text,
witch
hs-source-dirs: test/unit
default-language: Haskell2010
ghc-options: -threaded
test-suite swarm-integration
import: stan-config, common, ghc2021-extensions
main-is: Main.hs
type: exitcode-stdio-1.0
build-depends: tasty >= 0.10 && < 1.5,
tasty-hunit >= 0.10 && < 0.11,
tasty-expected-failure >= 0.12 && < 0.13,
-- Imports shared with the library don't need bounds
base,
containers,
directory,
filepath,
lens,
linear,
mtl,
swarm,
text,
transformers,
witch,
yaml
hs-source-dirs: test/integration
default-language: Haskell2010
ghc-options: -threaded
benchmark benchmark
import: stan-config, common, ghc2021-extensions
main-is: Benchmark.hs
hs-source-dirs: bench
type: exitcode-stdio-1.0
build-depends: criterion >= 1.6.0.0 && < 1.7,
-- Import shared with the library don't need bounds
base,
lens,
linear,
mtl,
random,
swarm,
text
default-language: Haskell2010
ghc-options: -threaded