-- Copyright 2020 United States Government as represented by the Administrator
-- of the National Aeronautics and Space Administration. All Rights Reserved.
--
-- Disclaimers
--
-- Licensed under the Apache License, Version 2.0 (the "License"); you may
-- not use this file except in compliance with the License. You may obtain a
-- copy of the License at
--
--      https://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-- License for the specific language governing permissions and limitations
-- under the License.

cabal-version:       2.0
build-type:          Simple

name:                ogma-extra
version:             1.14.0
homepage:            https://github.com/nasa/ogma
bug-reports:         https://github.com/nasa/ogma/issues
license:             Apache-2.0
license-file:        LICENSE
author:              Ivan Perez, Alwyn Goodloe
maintainer:          ivan.perezdominguez@nasa.gov
category:            Aerospace
extra-source-files:  CHANGELOG.md

synopsis:            Ogma: Helper tool to interoperate between Copilot and other languages.

description:         Ogma is a tool to facilitate the integration of safe runtime monitors into
                     other systems. Ogma extends
                     <https://github.com/Copilot-Language/copilot Copilot>, a high-level runtime
                     verification framework that generates hard real-time C99 code.
                     .
                     This package implements internal extensions to existing libraries
                     and modules that are used in several ogma packages and their
                     testing facilities.

-- Ogma packages should be uncurated so that only the official maintainers make
-- changes.
--
-- Because this is a NASA project, we want to make sure that users obtain
-- exactly what we publish, unmodified by anyone external to our project.
x-curation: uncurated

source-repository head
  type:     git
  location: git@github.com:nasa/ogma.git
  subdir:   ogma-extra

library

  exposed-modules:
    Data.ByteString.Extra
    Data.List.Extra
    Data.String.Extra
    System.Directory.Extra

  build-depends:
      base        >= 4.11.0.0 && < 5
    , aeson       >= 2.0.0.0  && < 2.3
    , bytestring  >= 0.10.8.2 && < 0.13
    , Cabal       >= 2.2.0.0  && < 3.15
    , directory   >= 1.3.1.5  && < 1.4
    , filepath    >= 1.4.2    && < 1.6
    , microstache >= 1.0      && < 1.1
    , text        >= 1.2.3.1  && < 2.2

  hs-source-dirs:
    src

  default-language:
    Haskell2010

  ghc-options:
    -Wall

test-suite unit-tests
  type:
    exitcode-stdio-1.0

  main-is:
    Main.hs

  build-depends:
      base                       >= 4.11.0.0 && < 5
    , QuickCheck                 >= 2.8.2    && < 2.17
    , test-framework             >= 0.8.2    && < 0.9
    , test-framework-quickcheck2 >= 0.3.0.4  && < 0.4

    , ogma-extra

  hs-source-dirs:
    tests

  default-language:
    Haskell2010

  ghc-options:
    -Wall
