diff --git a/Procfile b/Procfile index d79753a..ff9170d 100644 --- a/Procfile +++ b/Procfile @@ -1 +1 @@ -web: java $JVM_OPTS -jar target/todo-backend-standalone.jar $PORT +web: java $JVM_OPTS -jar target/todo-backend-standalone.jar diff --git a/project.clj b/project.clj index efc86cc..3ebb3f5 100644 --- a/project.clj +++ b/project.clj @@ -4,6 +4,7 @@ :min-lein-version "2.0.0" :aot :all :java-target "1.8" + :main ^:skip-aot todo-backend-clojure.handler :uberjar-name "todo-backend-standalone.jar" :resource-paths ["resources"] :dependencies [[org.clojure/clojure "1.8.0"] @@ -11,6 +12,7 @@ [org.clojure/java.jdbc "0.6.1"] [compojure "1.5.1"] [ring/ring-defaults "0.2.1"] + [ring/ring-jetty-adapter "1.5.0"] [ring/ring-json "0.4.0"] [jumblerg/ring.middleware.cors "1.0.1"] [com.h2database/h2 "1.3.170"]] diff --git a/src/todo_backend_clojure/handler.clj b/src/todo_backend_clojure/handler.clj index ac1d0e6..31138d7 100644 --- a/src/todo_backend_clojure/handler.clj +++ b/src/todo_backend_clojure/handler.clj @@ -2,10 +2,12 @@ (:require [compojure.core :refer :all] [compojure.route :as route] + [ring.adapter.jetty :as ring] [ring.middleware.json :as json-middleware] [ring.middleware.defaults :refer [wrap-defaults api-defaults]] [todo-backend-clojure.todo_routes :as routes] - [todo-backend-clojure.middleware :as todo-middleware])) + [todo-backend-clojure.middleware :as todo-middleware]) + (:gen-class)) (defroutes app-routes routes/todo-routes) @@ -19,3 +21,11 @@ (json-middleware/wrap-json-response) (json-middleware/wrap-json-body) (wrap-defaults api-defaults))) + +(defn start [port] + (ring/run-jetty app {:port port + :join? false})) + +(defn -main [] + (let [port (Integer. (or (System/getenv "PORT") "8080"))] + (start port)))