Tackling bit-rot

This commit is contained in:
Simon Brooke 2021-12-09 20:12:59 +00:00
parent b07f69fb51
commit 741c857a7a
No known key found for this signature in database
GPG key ID: A7A4F18D1D4DF987
10 changed files with 54 additions and 46 deletions

3
.gitignore vendored
View file

@ -5,10 +5,13 @@
pom.xml
*.jar
*.class
/.calva/
/.lein-*
/.env
*.log
.nrepl-port
# Links to other places:
resources/public/docs/mw-*/uberdoc.html
# Artefacts:

View file

@ -1,49 +1,49 @@
(defproject mw-ui "0.1.6-SNAPSHOT"
:description "Web-based user interface for MicroWorld"
:url "http://www.journeyman.cc/microworld"
:manifest {
"build-signature-version" "unset"
"build-signature-user" "unset"
"build-signature-email" "unset"
"build-signature-timestamp" "unset"
"Implementation-Version" "unset"
}
:dependencies [[org.clojure/clojure "1.8.0"]
:dependencies [[org.clojure/clojure "1.10.3"]
[mw-engine "0.1.6-SNAPSHOT"]
[mw-parser "0.1.6-SNAPSHOT"]
[lib-noir "0.9.9"]
[ring-server "0.5.0"]
[selmer "1.12.25"]
[selmer "1.12.45"]
[hiccup "1.0.5"]
[com.taoensso/timbre "4.10.0"]
[com.taoensso/timbre "5.1.2"]
[com.taoensso/tower "3.0.2"]
[markdown-clj "1.10.4"]
[markdown-clj "1.10.7"]
[environ "1.2.0"]
[noir-exception "0.2.5"]]
:docker {:image-name "simonbrooke/microworld"
:dockerfile "Dockerfile"}
:main mw-ui.repl
:manifest {"build-signature-version" "0.1.6-SNAPSHOT"
"build-signature-user" "Simon Brooke"
"build-signature-email" "unset"
"build-signature-timestamp" "2021-05-17 13:31:22+01:00"
"Implementation-Version" "0.1.6-SNAPSHOT built by Simon Brooke on 2021-05-17 13:31:22+01:00"}
:min-lein-version "2.0.0"
:repl-options {:init-ns mw-ui.repl}
:plugins [[lein-ring "0.8.11"]
[lein-environ "0.5.0"]
[lein-marginalia "0.7.1"]
[io.sarnowski/lein-docker "1.1.0"]]
:docker {:image-name "simonbrooke/microworld"
:dockerfile "Dockerfile"}
:ring {:handler mw-ui.handler/app
:init mw-ui.handler/init
:destroy mw-ui.handler/destroy
:resources-path "resources"
:war-resources-path "war-resources"
:uberwar-name "microworld.war"
}
:profiles
{:uberjar {:aot :all}
:production {:ring {:open-browser? false
:stacktraces? false
:auto-reload? false}}
:dev {:dependencies [[ring-mock "0.1.5"]
[ring/ring-devel "1.8.1"]
[pjstadig/humane-test-output "0.10.0"]]
[ring/ring-devel "1.9.4"]
[pjstadig/humane-test-output "0.11.0"]]
:injections [(require 'pjstadig.humane-test-output)
(pjstadig.humane-test-output/activate!)]
:env {:dev true}}}
:min-lein-version "2.0.0")
:repl-options {:init-ns mw-ui.repl}
:ring {:handler mw-ui.handler/app
:init mw-ui.handler/init
:destroy mw-ui.handler/destroy
:resources-path "resources"
:war-resources-path "war-resources"
:uberwar-name "microworld.war"}
:url "http://www.journeyman.cc/microworld"
)

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 719 B

Binary file not shown.

View file

@ -0,0 +1,4 @@
;; 'run once' ruleset to be run after (e.g.) settlement to establish harbours
;; Doesn't work yet, need to find out why and fix it!
if state is water and more than four neighbours are not water and some neighbours are house then state should be harbour

View file

@ -8,7 +8,7 @@
[noir.util.middleware :refer [app-handler]]
[compojure.route :as route]
[taoensso.timbre :as timbre]
[taoensso.timbre.appenders.rotor :as rotor]
;; [taoensso.timbre.appenders.rotor :as rotor]
[selmer.parser :as parser]
[environ.core :refer [env]]))
@ -46,19 +46,19 @@
an app server such as Tomcat
put any initialization code here"
[]
(timbre/set-config!
[:appenders :rotor]
{:min-level :info
:enabled? true
:async? false ; should be always false for rotor
:max-message-per-msecs nil
:fn rotor/appender-fn})
(timbre/set-config!
[:shared-appender-config :rotor]
{:path "mw_ui.log" :max-size (* 512 1024) :backlog 10})
;; (timbre/set-config!
;; [:appenders :rotor]
;; {:min-level :info
;; :enabled? true
;; :async? false ; should be always false for rotor
;; :max-message-per-msecs nil
;; :fn rotor/appender-fn})
;; (timbre/set-config!
;; [:shared-appender-config :rotor]
;; {:path "mw_ui.log" :max-size (* 512 1024) :backlog 10})
(if (env :dev) (parser/cache-off!))
(when (env :dev) (parser/cache-off!))
(timbre/info "mw-ui started successfully"))

View file

@ -2,7 +2,6 @@
:author "Simon Brooke"}
mw-ui.middleware
(:require [taoensso.timbre :as timbre]
[selmer.parser :as parser]
[environ.core :refer [env]]
[selmer.middleware :refer [wrap-error-page]]
[noir-exception.core

View file

@ -1,9 +1,10 @@
(ns ^{:doc "In truth, boilerplate from Luminus."
:author "Simon Brooke"}
mw-ui.repl
(:use mw-ui.handler
ring.server.standalone
[ring.middleware file-info file])
(:require [mw-ui.handler :as handler]
[ring.server.standalone :refer [serve]]
[ring.middleware.file :refer [wrap-file]]
[ring.middleware.file-info :refer [wrap-file-info]])
(:gen-class))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -37,7 +38,7 @@
;; the server is forced to re-resolve the symbol in the var
;; rather than having its own copy. When the root binding
;; changes, the server picks it up without having to restart.
(-> #'app
(-> #'handler/app
; Makes static assets in $PROJECT_DIR/resources/public/ available.
(wrap-file "resources")
; Content-Type, Content-Length, and Last Modified headers for files in body
@ -50,9 +51,9 @@
(reset! server
(serve (get-handler)
{:port port
:init init
:init handler/init
:auto-reload? true
:destroy destroy
:destroy handler/destroy
:join? false}))
(println (str "You can view the site at http://localhost:" port))))
@ -62,3 +63,4 @@
(defn -main []
(start-server))