-- Initial front.cabal generated by cabal init.  For further documentation,
--  see http://haskell.org/cabal/users-guide/

name:                front
version:             0.0.0.2
synopsis:            A reactive frontend web framework
description:         A reactive frontend web framework. See haskell-front.org for more details.
homepage:            haskell-front.org
license:             BSD3
license-file:        LICENSE
author:              Andrey Prokopenko
maintainer:          persiantiger@yandex.ru
-- copyright:
category:            Web
build-type:          Simple
extra-source-files:  ChangeLog.md, README.md
cabal-version:       >=1.10

source-repository head
  type: git
  location: https://github.com/swamp-agr/front.git  
                     
library
  exposed-modules:     Text.Blaze.Front
                     , Text.Blaze.Front.Svg
                     , Text.Blaze.Front.Internal
                     , Text.Blaze.Front.Html5
                     , Text.Blaze.Front.Svg.Attributes
                     , Text.Blaze.Front.Html5.Attributes
                     , Text.Blaze.Front.Event
                     , Text.Blaze.Front.Renderer
                     , Web.Front
                     , Web.Front.Broadcast
                     -- shared
                     , Bridge
  -- other-modules:
  other-extensions:    FlexibleInstances, TypeSynonymInstances, OverloadedStrings, GeneralizedNewtypeDeriving, Rank2Types, ExistentialQuantification, DeriveDataTypeable, MultiParamTypeClasses, DeriveFunctor, FunctionalDependencies, ScopedTypeVariables
  build-depends:       base <5
                     , aeson
                     , async
                     , stm
                     , stm-lifted
                     , conduit
                     , text >=1.2 && <1.3
                     , mtl
                     , bytestring >=0.10 && <0.11
                     , blaze-markup >=0.8 && <0.10
                     , blaze-html >=0.9 && <0.10
                     , fay >= 0.24.0.2
                     , fay-dom
                     , fay-websockets
                     , websockets
  ghc-options:    -main-is YesodTodo -Wall
  hs-source-dirs:      src, shared
  default-language:    Haskell2010

flag examples
  default:
    False
  description:
    Builds front's examples

executable todo-servant-example
  main-is:             ServantTodo.hs
  if !flag(examples)
    buildable: False
  else
    hs-source-dirs:      examples/todo
    build-depends: base
                 , aeson
                 , conduit
                 , async
                 , websockets
                 , wai-websockets
                 , unordered-containers
                 , stm
                 , random
                 , stm-lifted     >=0.1.1.0
                 , fay
                 , base-compat    >= 0.9.1
                 , base64-bytestring
                 , blaze-html     >= 0.8 
                 , blaze-markup   >= 0.7 
                 , bytestring
                 , cereal         >= 0.5
                 , cryptonite     >= 0.14
                 , data-default
                 , directory
                 , exceptions
                 , filepath
                 , http-media
                 , http-types     >= 0.9
                 , mtl            >= 2.0
                 , servant        >= 0.5 
                 , servant-auth-cookie
                 , servant-blaze  >= 0.5 
                 , servant-server >= 0.5 
                 , text
                 , time
                 , transformers   >= 0.4 
                 , wai            >= 3.0 
                 , warp           >= 3.0
                 , front
    other-modules: Todo
    ghc-options:    -main-is ServantTodo -Wall
    default-language: Haskell2010

executable todo-yesod-example
  main-is:             YesodTodo.hs
  if !flag(examples)
    buildable: False
  else
    hs-source-dirs:      examples/todo
    build-depends: base
                 , front
                 , text
                 , mtl
                 , fay
                 , random
                 , yesod-core
                 , yesod-static
                 , yesod-websockets
                 , conduit
                 , aeson
                 , stm-lifted      >=0.1.1.0
                 , bytestring
  
    other-modules: Todo
    ghc-options:    -main-is YesodTodo -Wall
    default-language: Haskell2010