packages feed

titan-1.0.2: titan.cabal

cabal-version: >= 1.10
build-type:    Simple

name:          titan
version:       1.0.2
author:        Ivan Perez
maintainer:    ivan.perez@keera.co.uk
homepage:      http://github.com/keera-studios/haskell-titan
copyright:
  All Rights Reserved (c) 2018 - 2020 Keera Studios Ltd
  All Rights Reserved (c) 2015 - 2017 Ivan Perez Dominguez
license:       GPL-3
license-file:  LICENSE
category:      Testing
synopsis:      Testing Infrastructure for Temporal AbstractioNs - GUI to debug temporal programs
description:
  Debugging GUI that allows you to control the execution of a running FRP
  program.
  .
  TITAN (Testing Infrastructure for Temporal AbstractioNs) is a framework to
  test and debug FRP programs. It allows you to write temporal unit tests, check
  them, QuickCheck them, run FRP programs with a fine-tuned debugger, obtain
  information to replicate tests, and follow and control the execution of a
  FRP program from an interactive GUI.
  .
  This program provides a GUI to connect to a running application and control its
  execution.

data-files:
  data/*.glade

source-repository head
  type:     git
  location: git://github.com/keera-studios/haskell-titan.git

-- You can disable the hlint test suite with -f-test-hlint
flag test-hlint
  default: False
  manual:  True

-- You can disable the haddock coverage test suite with -f-test-doc-coverage
flag test-doc-coverage
  default: False
  manual:  True


executable titan

  main-is:
    Main.hs

  other-modules:
    CombinedEnvironment
    Controller
    Controller.Conditions
    Controller.Conditions.Buttons
    Controller.Conditions.CloseIDE
    Controller.Conditions.CurFrameInfo
    Controller.Conditions.TraceViewer
    FRP.Titan.Protocol
    Graphics.UI.Gtk.GtkView
    Graphics.UI.Gtk.StreamChart
    Graphics.UI.View
    Hails.Graphics.UI.Gtk.Builder
    Hails.Graphics.UI.Gtk.Helpers.Combo
    Hails.Graphics.UI.Gtk.Helpers.FileDialog
    Hails.Graphics.UI.Gtk.Helpers.MenuItem
    Hails.Graphics.UI.Gtk.Helpers.MessageDialog
    Hails.Graphics.UI.Gtk.Reactive
    Hails.Graphics.UI.Gtk.Simplify.AboutDialog
    Hails.Graphics.UI.Gtk.Simplify.Logger
    Hails.Graphics.UI.Gtk.Simplify.NameAndVersionTitleBar
    Hails.Graphics.UI.Gtk.Simplify.ProgramMainWindow
    Hails.Graphics.UI.Gtk.Simplify.ReactiveGtk
    Hails.Graphics.UI.Gtk.Simplify.RootLogger
    Hails.Graphics.UI.Gtk.Simplify.UpdateCheck
    Hails.Graphics.UI.Gtk.Simplify.VersionNumberTitleBar
    Hails.Graphics.UI.Gtk.THBuilderAccessor
    Hails.I18N.Gettext
    Hails.I18N.Language
    Hails.MVC.Controller.ConditionDirection
    Hails.MVC.Controller.Conditions.Config
    Hails.MVC.Controller.Reactive
    Hails.MVC.DefaultGtkEnvironment
    Hails.MVC.GenericCombinedEnvironment
    Hails.MVC.Model.THAccessors
    Hails.MVC.Model.THFields
    Hails.MVC.View.DefaultView
    Hails.MVC.View.GladeView
    Hails.MVC.View.GtkView
    Hails.MVC.View.Reactive
    IOBridge
    Model.Model
    Model.ProtectedModel
    Model.ProtectedModel.ProtectedFields
    Model.ProtectedModel.ProtectedModelInternals
    Model.ReactiveModel
    Model.ReactiveModel.ModelEvents
    Model.ReactiveModel.ReactiveFields
    Model.ReactiveModel.ReactiveModelInternals
    Paths
    Paths.CustomPaths
    View
    View.Objects

  build-depends:
      base              >=4.7 && < 4.13
    , cairo
    , glib
    , gtk
    , IfElse
    , mtl
    , network
    , network-bsd
    , template-haskell

    , keera-hails-mvc-controller
    , keera-hails-mvc-environment-gtk
    , keera-hails-mvc-model-protectedmodel
    , keera-hails-mvc-solutions-gtk
    , keera-hails-mvc-view
    , keera-hails-mvc-view-gtk
    , keera-hails-reactive-gtk
    , keera-hails-reactive-polling
    , keera-hails-reactivevalues

  hs-source-dirs:
    src/

  default-language:
    Haskell2010

  ghc-options:
    -threaded -Wall -O2

-- Verify that the code is hlint-error free
test-suite hlint

  type:
    exitcode-stdio-1.0

  main-is:
    hlint.hs

  hs-source-dirs:
    tests

  default-language:
    Haskell2010

  if !flag(test-hlint)
    buildable:
      False
  else
    build-depends:
        base
      , hlint >= 1.7

-- Verify that the code is thoroughly documented
test-suite haddock-coverage

  type:
    exitcode-stdio-1.0

  main-is:
    HaddockCoverage.hs

  build-depends:
      base                 >= 4        && < 5
    , directory
    , filepath
    , process
    , regex-posix

  hs-source-dirs:
    tests

  default-language:
    Haskell2010

  ghc-options:
    -Wall

  if !flag(test-doc-coverage)
    buildable:
      False