packages feed

symantic-xml-1.0.0.20190223: symantic-xml.cabal

name: symantic-xml
-- PVP:  +-+------- breaking API changes
--       | | +----- non-breaking API additions
--       | | | +--- code changes with no API change
version: 1.0.0.20190223
category: Data Structures
synopsis: Library for reading, validating and writing a subset of the XML format.
description: Symantics for an approximative implementation
             of XML (eXtensible Markup Language) and RNC (RelaxNG Compact).
 .
 Motivation: Other Haskell libraries do not fit my needs or are too heavy/complex.
 I like the principle to parse XML using some symantics,
 which can both generate a Megaparsec parser to validate the XML tree,
 and a RNC rendition of the schema it validates.
 .
 DISCLAMER: My life being's too short, I'm NOT burning my brain
 on seriously conforming to the too complex XML and RNC formats.
 Still I try to respect a vague subset of those,
 unless it makes the code more complex than I am comfortable with.
 .
 WARNING: It's currently using an old symantic approach,
 not the one developped in <https://hackage.haskell.org/package/symantic-http symantic-http>.
 This may change when I'll get to it.
extra-doc-files:
license: GPL-3
license-file: COPYING
stability: experimental
author:      Julien Moutinho <julm+symantic-xml@autogeree.net>
maintainer:  Julien Moutinho <julm+symantic-xml@autogeree.net>
bug-reports: Julien Moutinho <julm+symantic-xml@autogeree.net>
-- homepage:

build-type: Simple
cabal-version: 1.24
tested-with: GHC==8.6.4
extra-source-files:
  stack.yaml
extra-tmp-files:

Source-Repository head
  location: git://git.autogeree.net/symantic-xml
  type:     git

Library
  exposed-modules:
    Symantic.RNC
    Symantic.RNC.Sym
    Symantic.RNC.Validate
    Symantic.RNC.Write
    Symantic.RNC.Write.Fixity
    Symantic.RNC.Write.Namespaces
    Symantic.XML
    Symantic.XML.Document
    Symantic.XML.Read
    Symantic.XML.Read.Parser
    Symantic.XML.Write
  default-language: Haskell2010
  default-extensions:
    FlexibleContexts
    FlexibleInstances
    LambdaCase
    MultiParamTypeClasses
    NamedFieldPuns
    NoImplicitPrelude
    RecordWildCards
    ScopedTypeVariables
    TupleSections
    -- TypeFamilies
  ghc-options:
    -Wall
    -Wincomplete-uni-patterns
    -Wincomplete-record-updates
    -fno-warn-tabs
    -- -fhide-source-paths
  build-depends:
      base                 >= 4.10 && < 5
    , bytestring           >= 0.10
    , containers           >= 0.5
    , data-default-class   >= 0.1
    , filepath             >= 1.4
    , hashable             >= 1.2.6
    , hxt-charproperties   >= 9.2
    , megaparsec           >= 7.0.4
    -- , parser-combinators   >= 1.0
    , safe                 >= 0.3
    , text                 >= 1.2
    , transformers         >= 0.5
    , treeseq              >= 1.0
    , unordered-containers >= 0.2.8

Test-Suite symantic-xml-test
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  other-modules:
    RNC.Parser
    RNC.Commoning
    Golden
    -- HUnit
    -- QuickCheck
  default-language: Haskell2010
  default-extensions:
    LambdaCase
    NamedFieldPuns
    NoImplicitPrelude
    RecordWildCards
    ViewPatterns
  ghc-options:
    -Wall
    -Wincomplete-uni-patterns
    -Wincomplete-record-updates
    -fno-warn-tabs
    -fhide-source-paths
  build-depends:
    symantic-xml
    , base >= 4.10 && < 5
    , bytestring >= 0.10
    , containers >= 0.5
    , data-default-class   >= 0.1
    , deepseq >= 1.4
    , filepath >= 1.4
    , hashable >= 1.2.6
    , megaparsec >= 7.0.4
    , tasty >= 0.11
    , tasty-golden >= 2.3
    , text >= 1.2
    , transformers >= 0.4
    , treeseq >= 1.0
    -- , QuickCheck >= 2.0
    -- , tasty-hunit
    -- , tasty-quickcheck