swarm/swarm.cabal
Ondřej Šebek 8366135ae1
Notify user about newer version (#652)
- query GitHub Releases for a new version
- add `swarm version` command
- show the version notification in the main menu
- add a new app-wide logging queue
- show the app-wide logs in the main menu as Messages
- catch and show the web API failure in the Messages
- closes #66
- closes #627
2022-09-06 07:32:24 +00:00

274 lines
11 KiB
Plaintext

cabal-version: 2.4
name: swarm
version: 0.0.0.1
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
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.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.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.17,
aeson >= 2 && < 2.1,
array >= 0.5.4 && < 0.6,
brick >= 1.0 && < 1.1,
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.2 && < 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.2,
linear >= 1.21.6 && < 1.22,
lsp >= 1.2 && < 1.5,
megaparsec >= 9.0 && < 9.3,
minimorph >= 0.3 && < 0.4,
mtl >= 2.2.2 && < 2.3,
murmur3 >= 1.0.4 && < 1.1,
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,
template-haskell >= 2.16 && < 2.19,
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.13,
vty >= 5.33 && < 5.37,
wai >= 3.2 && < 3.3,
warp >= 3.2 && < 3.4,
witch >= 0.3.4 && < 1.1,
word-wrap >= 0.5 && < 0.6,
yaml >= 0.11 && < 0.12,
-- Temporary workaround for TomMD/entropy#75.
-- We should be able to remove this bound once
-- it is fixed.
entropy <= 0.4.1.7,
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