;;; We need to allow http connections because some dependencies are fetched
;;; over http instead of https. See here for more detail:
;;; https://github.com/technomancy/leiningen/blob/master/doc/FAQ.md
(require 'cemerick.pomegranate.aether)
(cemerick.pomegranate.aether/register-wagon-factory!
 "http" #(org.apache.maven.wagon.providers.http.HttpWagon.))

(defproject yenu "1.0.1"
  :description "yenu -- The image sharing tool for friends"
  :url "https://yenu.gridbag.net/"

  :dependencies [[bouncer "1.0.1"]
                 [compojure "1.6.2"]
                 [conman "0.9.1"]
                 [cprop "0.1.18"]
                 [luminus-immutant "0.2.5"]
                 [luminus-migrations "0.7.1"]
                 [luminus-nrepl "0.1.7"]
                 [metosin/ring-http-response "0.9.2"]
                 [mount "0.1.16"]
                 [clojure.java-time "0.3.2"]
                 [org.clojure/clojure "1.10.3"]
                 [org.clojure/tools.cli "1.0.206"]
                 [org.clojure/tools.logging "1.1.0"]
                 [org.webjars/jquery "3.6.0"]
                 [org.webjars/bootstrap "5.0.1"]
                 [org.webjars/webjars-locator-jboss-vfs "0.1.0"]
                 [org.webjars.bower/tether "1.4.7"]
                 [org.webjars.bower/font-awesome "4.7.0"]
                 [org.xerial/sqlite-jdbc "3.36.0"]
                 [ring-webjars "0.2.0"]
                 [ring-middleware-format "0.7.4"]
                 [ring/ring-core "1.9.3"]
                 [ring/ring-defaults "0.3.3"]
                 [selmer "1.12.44"]
                 [hiccup "1.0.5"]
                 [image-resizer "0.1.10"]
                 [me.raynes/fs "1.4.6"] ;; R.I.P. Anthony!
                 [digest "1.4.10"]
                 [markdown-clj "1.10.5"]
                 [clj-exif-orientation "0.2.1"]
                 [buddy/buddy-auth "3.0.1"]]

  :min-lein-version "2.0.0"

  :jvm-opts ["-server" "-Dconf=.lein-env"]
  :source-paths ["src/clj" "src/cljc"]
  :resource-paths ["resources" "target/cljsbuild"]
  :target-path "target/%s/"
  :main yenu.core
  :migratus {:store :database :db ~(get (System/getenv) "DATABASE_URL")}

  :plugins [[lein-cprop "1.0.3"]
            [migratus-lein "0.7.3"]
            [lein-immutant "2.1.0"]
            [lein-sassc "0.10.5"]
            [lein-auto "0.1.3"]]
  :sassc
  [{:src "resources/scss/screen.scss"
    :output-to "resources/public/css/screen.css"
    :style "nested"
    :import-path "resources/scss"}] 
  
  :auto
  {"sassc" {:file-pattern #"\.(scss|sass)$" :paths ["resources/scss"]}} 
  
  :hooks [leiningen.sassc]
  :clean-targets ^{:protect false}
  [:target-path [:builds :app :compiler :output-dir] [:builds :app :compiler :output-to]]

  :profiles
  {:uberjar {:omit-source true
             :aot :all
             :uberjar-name "yenu.jar"
             :source-paths ["env/prod/clj"]
             :resource-paths ["env/prod/resources"]}

   :dev           [:project/dev :profiles/dev]

   :project/dev  {:dependencies [[prone "1.1.4"]
                                 [ring/ring-mock "0.3.0"]
                                 [ring/ring-devel "1.5.1"]
                                 [pjstadig/humane-test-output "0.8.1"]
                                 [binaryage/devtools "0.9.0"]]
                  :source-paths ["env/dev/clj"]
                  :resource-paths ["env/dev/resources"]
                  :repl-options {:init-ns user}}
   :profiles/dev {}})
