name:            java-adt
version:         1.0.20231204
build-type:      Simple
cabal-version:   1.18
license:         OtherLicense
license-file:    LICENSE
author:          Andreas Abel
maintainer:      Andreas Abel <andreas.abel@gu.se>
homepage:        https://github.com/andreasabel/java-adt
bug-reports:     https://github.com/andreasabel/java-adt/issues
category:        Java
synopsis:        Create immutable algebraic data structures for Java.
description:
  A simple tool to create immutable algebraic data structures and visitors for Java
  (such as abstract syntax trees).  The input syntax is similar to Haskell data types,
  and they will be compiled to Java class hierarchies.

-- Compilation fails with GHC <= 7.4 since non-existing import is an error there:
-- import Prelude hiding ((<>))
-- 2023-12-04: Drop testing with GHC 7
tested-with:
  GHC == 9.8.1
  GHC == 9.6.3
  GHC == 9.4.8
  GHC == 9.2.8
  GHC == 9.0.2
  GHC == 8.10.7
  GHC == 8.8.4
  GHC == 8.6.5
  GHC == 8.4.4
  GHC == 8.2.2
  GHC == 8.0.2

data-files:         test/Makefile
                    test/*.hs

extra-doc-files:    CHANGELOG.md
                    README.md

source-repository head
  type:     git
  location: https://github.com/andreasabel/java-adt.git

executable java-adt
  hs-source-dirs:   src
  build-depends:    base >= 4.6 && < 5,
                    array,
                    pretty
  build-tools:      happy >= 1.15,
                    alex >= 3.0
  default-language: Haskell2010
  main-is:          Main.hs
  other-modules:    Lexer
                    Options
                    Parser
                    Printer
                    Syntax

  ghc-options:      -Wall
                    -fno-warn-name-shadowing
                    -fno-warn-unused-imports

  if impl(ghc >= 8)
    ghc-options:    -Wcompat