Final tweeks for public alpha
This commit is contained in:
parent
8f26534b3b
commit
2bf43396f0
8 changed files with 295 additions and 172 deletions
20
env/dev/clj/youyesyet/core.clj
vendored
20
env/dev/clj/youyesyet/core.clj
vendored
|
|
@ -1,19 +1,27 @@
|
|||
(ns ^{:doc "Devalopment launcher, entirely boilerplate from Luminus."}
|
||||
(ns ^{:doc "Development launcher, entirely boilerplate from Luminus."}
|
||||
youyesyet.core
|
||||
(:require [youyesyet.handler :as handler]
|
||||
(:require [clojure.tools.cli :refer [parse-opts]]
|
||||
[clojure.tools.logging :as log]
|
||||
[luminus.repl-server :as repl]
|
||||
[luminus.http-server :as http]
|
||||
[luminus-migrations.core :as migrations]
|
||||
[mount.core :as mount]
|
||||
[youyesyet.config :refer [env]]
|
||||
[clojure.tools.cli :refer [parse-opts]]
|
||||
[clojure.tools.logging :as log]
|
||||
[mount.core :as mount])
|
||||
[youyesyet.handler :as handler])
|
||||
(:gen-class))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;
|
||||
;;;; youyesyet.core: run as a standalone application. Entirely luminus
|
||||
;;;; boilerplate.
|
||||
;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(def cli-options
|
||||
[["-p" "--port PORT" "Port number"
|
||||
:parse-fn #(Integer/parseInt %)]])
|
||||
|
||||
|
||||
(mount/defstate ^{:on-reload :noop}
|
||||
http-server
|
||||
:start
|
||||
|
|
@ -24,6 +32,7 @@
|
|||
:stop
|
||||
(http/stop http-server))
|
||||
|
||||
|
||||
(mount/defstate ^{:on-reload :noop}
|
||||
repl-server
|
||||
:start
|
||||
|
|
@ -40,6 +49,7 @@
|
|||
(System/setProperty "java.naming.factory.url.pkgs"
|
||||
"org.apache.naming"))
|
||||
|
||||
|
||||
(defn start-app [args]
|
||||
(init-jndi)
|
||||
(doseq [component (-> args
|
||||
|
|
|
|||
67
env/prod/clj/youyesyet/core.clj
vendored
Normal file
67
env/prod/clj/youyesyet/core.clj
vendored
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
(ns ^{:doc "Production launcher, entirely boilerplate from Luminus."}
|
||||
youyesyet.core
|
||||
(:require [clojure.tools.cli :refer [parse-opts]]
|
||||
[clojure.tools.logging :as log]
|
||||
[luminus.http-server :as http]
|
||||
[luminus-migrations.core :as migrations]
|
||||
[mount.core :as mount]
|
||||
[youyesyet.config :refer [env]]
|
||||
[youyesyet.handler :as handler])
|
||||
(:gen-class))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;
|
||||
;;;; youyesyet.core: run as a standalone application. Entirely luminus
|
||||
;;;; boilerplate.
|
||||
;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(def cli-options
|
||||
[["-p" "--port PORT" "Port number"
|
||||
:parse-fn #(Integer/parseInt %)]])
|
||||
|
||||
|
||||
(mount/defstate ^{:on-reload :noop}
|
||||
http-server
|
||||
:start
|
||||
(http/start
|
||||
(-> env
|
||||
(assoc :handler handler/app)
|
||||
(update :port #(or (-> env :options :port) %))))
|
||||
:stop
|
||||
(http/stop http-server))
|
||||
|
||||
|
||||
(defn stop-app []
|
||||
(doseq [component (:stopped (mount/stop))]
|
||||
(log/info component "stopped"))
|
||||
(shutdown-agents))
|
||||
|
||||
|
||||
(defn init-jndi []
|
||||
(System/setProperty "java.naming.factory.initial"
|
||||
"org.apache.naming.java.javaURLContextFactory")
|
||||
(System/setProperty "java.naming.factory.url.pkgs"
|
||||
"org.apache.naming"))
|
||||
|
||||
|
||||
(defn start-app [args]
|
||||
(init-jndi)
|
||||
(doseq [component (-> args
|
||||
(parse-opts cli-options)
|
||||
mount/start-with-args
|
||||
:started)]
|
||||
(log/info component "started"))
|
||||
(.addShutdownHook (Runtime/getRuntime)
|
||||
(Thread. handler/destroy)))
|
||||
|
||||
|
||||
(defn -main [& args]
|
||||
(cond
|
||||
(some #{"migrate" "rollback"} args)
|
||||
(do
|
||||
(mount/start #'youyesyet.config/env)
|
||||
(migrations/migrate args (select-keys env [:database-url]))
|
||||
(System/exit 0))
|
||||
:else
|
||||
(start-app args)))
|
||||
5
env/prod/resources/config.edn
vendored
5
env/prod/resources/config.edn
vendored
|
|
@ -1,4 +1,5 @@
|
|||
{:production true
|
||||
:port 3000
|
||||
:port 8765
|
||||
:site-title "Project Hope"
|
||||
:site-logo "img/ProjectHopeLogo.png"}
|
||||
:site-logo "img/ProjectHopeLogo.png"
|
||||
:motd "motd.md"}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue