swarm/swarm.cabal
Ondřej Šebek bb8a31ec4d Test scenarios
- add winning solutions to scenarios
- test the winning solutions
  - fail if any robot has a `Fatal error` in its log
  - timeout in X seconds (default 1)
- add a Testing scenario collection hidden without the `--cheat` flag
  - add a test case for #394

- closes #388
2022-06-18 02:44:22 +02:00

209 lines
8.4 KiB
Plaintext

cabal-version: 2.4
name: swarm
version: 0.1.0.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.3
extra-source-files: CHANGELOG.md
example/*.sw
data-dir: data/
data-files: *.yaml, scenarios/**/*.yaml, *.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
library
import: stan-config, common
exposed-modules: Swarm.Language.Context
Swarm.Language.Types
Swarm.Language.Syntax
Swarm.Language.Capability
Swarm.Language.Parse
Swarm.Language.Parse.QQ
Swarm.Language.Pretty
Swarm.Language.Typecheck
Swarm.Language.Elaborate
Swarm.Language.LSP
Swarm.Language.Pipeline
Swarm.Language.Pipeline.QQ
Swarm.Game.CESK
Swarm.Game.Scenario
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.App
Swarm.Util
Swarm.Util.Yaml
other-modules: Paths_swarm
autogen-modules: Paths_swarm
build-depends: base >= 4.14 && < 4.17,
aeson >= 2 && < 2.1,
array >= 0.5.4 && < 0.6,
brick >= 0.68.1 && < 0.70,
clock >= 0.8.2 && < 0.9,
containers >= 0.6.2 && < 0.7,
directory >= 1.3 && < 1.4,
either >= 5.0 && < 5.1,
filepath >= 1.4 && < 1.5,
fused-effects >= 1.1.1.1 && < 1.2,
fused-effects-lens >= 1.2.0.1 && < 1.3,
hashable >= 1.3.4 && < 1.5,
megaparsec >= 9.0 && < 9.3,
hsnoise >= 0.0.2 && < 0.1,
lens >= 4.19 && < 5.2,
linear >= 1.21.6 && < 1.22,
lsp >= 1.2 && < 1.5,
mtl >= 2.2.2 && < 2.3,
minimorph >= 0.3 && < 0.4,
murmur3 >= 1.0.4 && < 1.1,
parser-combinators >= 1.2 && < 1.4,
prettyprinter >= 1.7.0 && < 1.8,
random >= 1.2.0 && < 1.3,
simple-enumeration >= 0.2 && < 0.3,
split >= 0.2.3 && < 0.3,
stm >= 2.5.0 && < 2.6,
syb >= 0.7 && < 0.8,
template-haskell >= 2.16 && < 2.19,
text >= 1.2.4 && < 2.1,
unification-fd >= 0.11 && < 0.12,
unordered-containers >= 0.2.14 && < 0.3,
vector >= 0.12 && < 0.13,
vty >= 5.33 && < 5.36,
witch >= 0.3.4 && < 1.1,
word-wrap >= 0.5 && < 0.6,
yaml >= 0.11 && < 0.12,
hs-source-dirs: src
default-language: Haskell2010
default-extensions: 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
test-suite swarm-unit
import: stan-config, common
main-is: Main.hs
type: exitcode-stdio-1.0
build-depends: tasty >= 0.10 && < 1.5,
tasty-hunit >= 0.10 && < 0.11,
tasty-quickcheck >= 0.10 && < 0.11,
-- Imports shared with the library don't need bounds
base,
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
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,
yaml,
witch
hs-source-dirs: test/integration
default-language: Haskell2010
ghc-options: -threaded
benchmark benchmark
import: stan-config, common
main-is: Benchmark.hs
hs-source-dirs: bench
type: exitcode-stdio-1.0
build-depends: criterion >= 1.5.10.0 && < 1.6,
-- Import shared with the library don't need bounds
base,
lens,
linear,
mtl,
random,
swarm,
text
default-language: Haskell2010
ghc-options: -threaded