cabal-version:       1.18
name:                http-directory
version:             0.1.11
synopsis:            http directory listing library
description:
            Library for listing the files (href's) in an http directory.
            It can also check the size, existence, modtime of files,
            and url redirects.
homepage:            https://github.com/juhp/http-directory
bug-reports:         https://github.com/juhp/http-directory/issues
license:             MIT
license-file:        LICENSE
author:              Jens Petersen
maintainer:          juhpetersen@gmail.com
copyright:           2019-2022,2024-2025 Jens Petersen
category:            Network
build-type:          Simple
extra-doc-files:     README.md
                   , CHANGELOG.md
                   , example/Makefile
                   , example/latest-ghc.hs
                   , example/list-page.hs
tested-with:         GHC== 8.0.2 || == 8.2.2
                     || == 8.4.4 || == 8.6.5  || == 8.8.4 || == 8.10.7
                     || == 9.0.2 || == 9.2.8  || == 9.4.8 || == 9.6.6
                     || == 9.8.4 || == 9.10.1

source-repository head
  type:                git
  location:            https://github.com/juhp/http-directory.git

flag executable
  description:   build cli tool
  default:       False

library
  hs-source-dirs:      src
  exposed-modules:     Network.HTTP.Directory

  build-depends:       base >= 4.9 && < 5,
                       bytestring,
                       html-conduit,
                       http-client,
                       http-client-tls,
                       http-conduit,
                       http-date >= 0.0.7,
                       http-types,
                       network-uri,
                       text,
                       time,
                       xml-conduit
  if impl(ghc<8.0)
      build-depends: semigroups,
                     cryptonite < 0.26
  if impl(ghc < 8.3)
    build-depends:     tagstream-conduit < 0.5.6,
                       xml-conduit < 1.9

  default-language:    Haskell2010

  ghc-options:         -Wall
  if impl(ghc >= 8.0)
    ghc-options:       -Wcompat
                       -Widentities
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
                       -Wredundant-constraints
  if impl(ghc >= 8.2)
    ghc-options:       -fhide-source-paths
  if impl(ghc >= 8.4)
    ghc-options:       -Wmissing-export-lists
                       -Wpartial-fields
  if impl(ghc >= 8.10)
    ghc-options:       -Wunused-packages

executable http-directory
  main-is: app/Main.hs
  build-depends:       base < 5
                     , http-directory
                     , simple-cmd-args
                     , text
  default-language:    Haskell2010
  if flag(executable)
    Buildable:      True
  else
    Buildable:      False

test-suite test
  main-is: Spec.hs
  type: exitcode-stdio-1.0
  hs-source-dirs: test

  default-language: Haskell2010

  build-depends: base >= 4 && < 5
               , hspec >= 1.3
               , http-directory
               , text

  ghc-options:         -Wall
  if impl(ghc >= 8.0)
    ghc-options:       -Wcompat
                       -Widentities
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
                       -Wredundant-constraints
  if impl(ghc >= 8.2)
    ghc-options:       -fhide-source-paths
  if impl(ghc >= 8.4)
    ghc-options:       -Wmissing-export-lists
                       -Wpartial-fields
  if impl(ghc >= 8.10)
    ghc-options:       -Wunused-packages