(defproject auto-ap "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :min-lein-version "2.0.0"
  :dependencies [[com.google.guava/guava "31.1-jre"]
                 [org.clojure/clojure "1.10.1"]
                 [com.unbounce/clojure-dogstatsd-client "0.7.0"]
                 [org.clojure/tools.reader "1.3.6"]
                 [com.cognitect/hmac-authn "0.1.210"]
                 [com.github.ivarref/gen-fn "0.2.46"]
                 [com.datomic/peer "1.0.6726"]
                 [lambdaisland/edn-lines "1.0.10"]
                 [bidi "2.1.6"]
                 [ring/ring-defaults "0.3.2" :exclusions [ring ring/ring-core]]
                 [mount "0.1.16"]
                 [metosin/malli "0.10.0"]
                 [tolitius/yang "0.1.23"]
                 [ring "1.9.6" :exclusions [commons-codec
                                            commons-io
                                            clj-time
                                            ring/ring-core
                                            ring/ring-codec
                                            #_org.eclipse.jetty/jetty-http
                                            #_org.eclipse.jetty/jetty-util
                                            #_org.eclipse.jetty/jetty-server]]

                 [ring/ring-jetty-adapter "1.9.6" :exclusions
                  [org.eclipse.jetty/jetty-server]]
                 [yogthos/config "1.1.7"]
                 [clj-fuzzy "0.4.1"]
                 [com.walmartlabs/lacinia "0.37.0"]
                 [vincit/venia "0.2.5"]
                 [digest "1.4.10"]
                 [mvxcvi/puget "1.3.4"]
                 [clj-http "3.11.0"  :exclusions [org.apache.httpcomponents/httpclient org.apache.httpcomponents/httpcore]]
                 [clj-pdf "2.2.33"]
                 [org.clojure/core.async "1.5.648"]
                 [fogus/ring-edn "0.3.0"]
                 [buddy/buddy-auth "2.2.0"
                  :exclusions [com.fasterxml.jackson.dataformat/jackson-dataformat-cbor
                               com.fasterxml.jackson.core/jackson-core]]

                 [nrepl "1.1.0" :exclusions [org.clojure/tools.logging]]
                 [cheshire "5.9.0"]
                 [hawk "0.2.11"]
                 [clj-time "0.15.2"]
                 [ring/ring-json "0.5.0" :exclusions [cheshire]]
                 [com.cemerick/url "0.1.1"]
                 [bk/ring-gzip "0.3.0"]
                 [amazonica "0.3.153"
                  :exclusions [com.amazonaws/aws-java-sdk
                               com.amazonaws/amazon-kinesis-client]]
                 [com.amazonaws/aws-java-sdk-core "1.12.515"
                  :exclusions [commons-codec
                               commons-logging]]
                 [com.amazonaws/aws-java-sdk-s3 "1.12.515"
                  :exclusions [commons-codec
                               org.apache.httpcomponents/httpclient]]
                 [com.amazonaws/aws-java-sdk-textract "1.12.515"
                  :exclusions [commons-codec
                               org.apache.httpcomponents/httpclient]]
                 [com.amazonaws/aws-java-sdk-sqs "1.12.515"
                  :exclusions [commons-codec
                               org.apache.httpcomponents/httpclient]]
                 [com.amazonaws/aws-java-sdk-lambda "1.12.515"
                  :exclusions [commons-codec
                               org.apache.httpcomponents/httpclient]]

                 [com.amazonaws/aws-java-sdk-ecs "1.12.515"
                  :exclusions [commons-codec
                               org.apache.httpcomponents/httpclient]]
                 [com.amazonaws/aws-java-sdk-ses "1.12.515"
                  :exclusions [commons-codec
                               org.apache.httpcomponents/httpclient]]
                 [com.amazonaws/aws-java-sdk-dynamodb "1.12.515"
                  :exclusions [commons-codec
                               org.apache.httpcomponents/httpclient]]
                 #_[org.eclipse.jetty/jetty-http "11.0.0"]
                 #_[org.eclipse.jetty/jetty-util "11.0.0"]
                 #_[org.eclipse.jetty/jetty-server "11.0.0"]
                 [org.eclipse.jetty.websocket/websocket-servlet "9.4.48.v20220622"]
                 [org.eclipse.jetty.websocket/websocket-server "9.4.48.v20220622"]
                 #_[org.eclipse.jetty.websocket/websocket-servlet "11.0.0"]
                 [org.clojure/data.json "1.0.0"]
                 [org.clojure/data.csv "1.0.0"]
                 [lambdaisland/edn-lines "1.0.10"]
                 [io.rkn/conformity "0.5.4"]
                 [com.brunobonacci/mulog "0.9.0"]
                 [com.brunobonacci/mulog-adv-console "0.9.0"]
                 [manifold "0.3.0"
                  :exclusions
                  [org.clojure/core.async]]

                 [hiccup "2.0.0-alpha2"]

                 ;; needed for java 11
                 [javax.xml.bind/jaxb-api "2.4.0-b180830.0359"]
                 [io.forward/clojure-mail "1.0.8"]
                 [lambdaisland/edn-lines "1.0.10"]]
  :managed-dependencies [;; explicit dependencies to get to latest versions for above
                         [com.fasterxml.jackson.core/jackson-core "2.12.0"]
                         [com.fasterxml.jackson.core/jackson-databind "2.12.0"]
                         [com.fasterxml.jackson.core/jackson-annotations "2.12.0"]
                         [com.fasterxml.jackson.dataformat/jackson-dataformat-cbor "2.12.0"]

                         [commons-codec "1.12"]]
  :plugins [[lein-ring "0.9.7"]
            [lein-cljsbuild "1.1.5"]
            [lein-ancient "0.6.15"]]
  :clean-targets ^{:protect false} ["resources/public/js/compiled" "target"]
  #_#_:ring {:handler auto-ap.handler/app}
  :source-paths ["src/clj" "src/cljc" "src/cljs" "iol_ion/src" ]
  :resource-paths ["resources"]
  :aliases {"build" ["do" ["uberjar"]]
            "fig:dev"  ["run" "-m" "figwheel.main" "-b" "dev" "-r"]
            "build-dev" ["trampoline" "run" "-m" "figwheel.main" "-b" "dev" "-r"]
            "fig:min"  ["run" "-m" "figwheel.main" "-O" "whitespace" "-bo" "min"]}


  :profiles {
             :dev
             {:main ^:skip-aot user
              :resource-paths ["resources" "target"]
              :dependencies [#_[binaryage/devteols "1.0.2"]
                             [postgresql/postgresql "9.3-1102.jdbc41"]
                             [org.clojure/tools.namespace "1.4.5"]
                             [org.clojure/java.jdbc "0.7.11"]
                             #_[com.datomic/dev-local "1.0.243"]
                             [etaoin "0.4.1"]
                             [com.bhauman/figwheel-main "0.2.18" :exclusions [org.clojure/clojurescript
                                                                              ring
                                                                              ring/ring-core
                                                                              ring/ring-codec
                                                                              ring/ring-defaults
                                                                              ring/ring-devel
                                                                              binaryage/devtools
                                                                              commons-io
                                                                              commons-codec
                                                                              com.fasterxml.jackson.core/jackson-core
                                                                              org.clojure/tools.namespace
                                                                              org.eclipse.jetty.websocket/websocket-server
                                                                              org.eclipse.jetty.websocket/websocket-servlet
                                                                              args4j]]
                             [com.bhauman/rebel-readline-cljs "0.1.4" :exclusions [org.clojure/clojurescript]]
                             [javax.servlet/servlet-api "2.5"]]
              :plugins      [[lein-pdo "0.1.1"]]
              :jvm-opts ["-Dconfig=config/dev.edn" "-Xms4G" "-Xmx20G" "-XX:-OmitStackTraceInFastThrow"]}

             :uberjar
             {:java-cmd "/usr/lib/jvm/java-11-openjdk/bin/java"
              :aot []
              :prep-tasks ["fig:min"]
              :dependencies [[com.bhauman/figwheel-main "0.2.18" :exclusions [org.clojure/clojurescript
                                                                              ring
                                                                              ring/ring-core
                                                                              ring/ring-codec
                                                                              ring/ring-defaults
                                                                              ring/ring-devel
                                                                              ring.adapter.jetty
                                                                              binaryage/devtools
                                                                              commons-io
                                                                              commons-codec
                                                                              com.fasterxml.jackson.core/jackson-core
                                                                              org.clojure/tools.namespace
                                                                              org.eclipse.jetty.websocket/websocket-server
                                                                              org.eclipse.jetty.websocket/websocket-servlet
                                                                              args4j]]]}
             :provided {:dependencies [[org.clojure/clojurescript "1.11.4"
                                        :exclusions [com.google.code.findbugs/jsr305
                                                     com.fasterxml.jackson.core/jackson-core]]
                                       [reagent "1.0.0" :exclusions [cljsjs/react cljsjs/react-dom cljsjs/react-dom-server] ]
                                       [re-frame "1.1.2"
                                        :exclusions
                                        [reagent
                                         org.clojure/clojurescript]]
                                       [re-frame-utils "0.1.0"]
                                       [com.andrewmcveigh/cljs-time "0.5.2"]
                                       [cljs-http "0.1.46"]
                                       [kibu/pushy "0.3.8"]]}

             }

  :main ^:skip-aot auto-ap.server
  :uberjar-name "auto-ap.jar"
  :test-paths ["test/clj"]
  :test-selectors {:integration (fn [m]
                                  (or (clojure.string/includes? (str (:ns m))
                                                                "integration")
                                      (clojure.string/includes? (str (:name m))
                                                                "integration")))
                   :functional (fn [m]
                                 (or (clojure.string/includes? (str (:ns m))
                                                               "functional")
                                     (clojure.string/includes? (str (:name m))
                                                               "functional")))})

