Name:                cron
Version:             0.7.1
Description:
  Cron data structure and Attoparsec parser. The idea is to embed it in larger
  systems which want to roll their own scheduled tasks in a format that people
  are used to.

  'System.Cron' is where all the interesting datatypes live. You will also find
  'scheduleMatches', which you can use to compare a time against a
  'CronSchedule' to see if an action needs to be performed.  System.Cron.Parser
  is where you will find the parsers `cronSchedule`, `crontabEntry` and
  `cronTab`. To parse individual schedules up to full crontab files.

Synopsis:            Cron datatypes and Attoparsec parser
Category:            Text, Parsing, System
License:             MIT
License-file:        LICENSE
Author:              Michael Xavier <michael@michaelxavier.net>
Copyright:           Copyright: (c) 2012-2014 Michael Xavier
Maintainer:          Michael Xavier <michael@michaelxavier.net>
Build-Type:          Simple
Stability:           experimental
Tested-With:         GHC == 8.4.4
                   , GHC == 8.6.5
                   , GHC == 8.8.1
Cabal-Version:       >= 1.10
Extra-Source-Files:
  README.md
  LICENSE
  changelog
  test/Main.hs
  test/SpecHelper.hs
  test/System/Test/Cron.hs
  test/System/Test/Cron/Describe.hs
  test/System/Test/Cron/Parser.hs
  test/System/Test/Cron/Schedule.hs
Homepage:           http://github.com/michaelxavier/cron
Bug-Reports:        http://github.com/michaelxavier/cron/issues

flag lib-Werror
  default: False
  manual: True

library
  Exposed-modules:   System.Cron
                   , System.Cron.Internal.Describe.Descriptors
                   , System.Cron.Internal.Describe.Options
                   , System.Cron.Internal.Describe.Time
                   , System.Cron.Internal.Describe.Types
                   , System.Cron.Internal.Describe.Utils
                   , System.Cron.Internal.Check
                   , System.Cron.Internal.Schedule
                   , System.Cron.Describe
                   , System.Cron.Parser
                   , System.Cron.Schedule
                   , System.Cron.Types
  Hs-source-dirs:  src
  default-language:    Haskell2010
  build-depends:     base            >= 4 && < 5
                   , attoparsec      >= 0.10
                   , text            >= 0.11 && < 3
                   , time            >= 1.4
                   , old-locale      >= 1.0
                   , mtl             >= 2.0.1
                   , mtl-compat      >= 0.2.1
                   , semigroups
                   , data-default-class >= 0.0.1
  if flag(lib-Werror)
    ghc-options: -Werror

  ghc-options: -Wall


test-suite test
  Type:           exitcode-stdio-1.0
  Main-Is:        Main.hs
  Hs-Source-Dirs: test
  default-language:    Haskell2010
  other-modules:    SpecHelper
                  , System.Test.Cron
                  , System.Test.Cron.Describe
                  , System.Test.Cron.Parser
                  , System.Test.Cron.Schedule
                  , System.Test.Cron.Internal.Schedule
  Build-Depends:    base
                  , cron
                  , tasty
                  , tasty-hunit
                  , tasty-hedgehog
                  , hedgehog
                  , attoparsec
                  , text
                  , time
                  , transformers-compat
                  , semigroups

  if flag(lib-Werror)
    ghc-options: -Werror

  ghc-options: -Wall -O2 -threaded -rtsopts -with-rtsopts=-N


benchmark bench
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs: bench
  default-language:    Haskell2010
  build-depends:
      base
    , cron
    , criterion
    , text
    , attoparsec
    , time

  if flag(lib-Werror)
    ghc-options: -Werror

  ghc-options: -Wall

source-repository head
  Type:     git
  Location: https://github.com/michaelxavier/cron