From 2d25fd9b5872bca41020741344fb7f18ba2df2c6 Mon Sep 17 00:00:00 2001 From: anatoly Date: Tue, 22 Dec 2015 23:01:11 -0500 Subject: [PATCH] #22: restarting a state on ns recompile vs. just stopping it, which is not well expected from the users --- doc/img/ns-recompile.png | Bin 30953 -> 43735 bytes src/mount/core.cljc | 17 +++++++++++------ .../core/mount/test/cleanup_dirty_states.cljc | 9 +++++++++ 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/doc/img/ns-recompile.png b/doc/img/ns-recompile.png index f8391a19c0c5f44a18aa57c06f3a90f602c46e23..21ad7ef70d5295da6141846747a80d8481c1e061 100644 GIT binary patch literal 43735 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 diff --git a/src/mount/core.cljc b/src/mount/core.cljc index 5027239..ac56306 100644 --- a/src/mount/core.cljc +++ b/src/mount/core.cljc @@ -51,7 +51,8 @@ (when-let [stop (@running state)] (prn (str "<< stopping.. " state " (namespace was recompiled)")) (stop) - (swap! running dissoc state))) + (swap! running dissoc state) + {:restart? true})) #?(:clj (defn current-state [state] @@ -135,8 +136,8 @@ order (make-state-seq state-name) sym (str state)] (validate lifecycle) - (cleanup-if-dirty state-name) - (let [s-meta (cond-> {:order order + (let [{:keys [restart?]} (cleanup-if-dirty state-name) + s-meta (cond-> {:order order :start `(fn [] ~start) :status #{:stopped}} stop (assoc :stop `(fn [] ~stop)) @@ -144,9 +145,13 @@ resume (assoc :resume `(fn [] ~resume)))] `(do (def ~state (DerefableState. ~state-name)) - ((var mount.core/update-meta!) [~state-name] (assoc ~s-meta :inst (atom (NotStartedState. ~state-name)) - :var (var ~state))) - (var ~state)))))) + (let [meta# (assoc ~s-meta :inst (atom (NotStartedState. ~state-name)) + :var (var ~state))] + ((var mount.core/update-meta!) [~state-name] meta#) + (when ~restart? + (prn (str ">> starting.. " ~state-name " (namespace was recompiled)")) + ((var mount.core/up) ~state-name meta# (atom #{}))) + (var ~state))))))) #?(:clj (defmacro defstate! [state & {:keys [start! stop!]}] diff --git a/test/core/mount/test/cleanup_dirty_states.cljc b/test/core/mount/test/cleanup_dirty_states.cljc index 88986bc..a0d0188 100644 --- a/test/core/mount/test/cleanup_dirty_states.cljc +++ b/test/core/mount/test/cleanup_dirty_states.cljc @@ -22,6 +22,15 @@ (mount/stop) (is (instance? mount.core.NotStartedState (dval tapp.example/nrepl)))))) +#?(:clj + (deftest restart-on-recompile + (let [_ (mount/start) + before (:server-socket (dval tapp.example/nrepl))] + (require 'tapp.example :reload) + (is (not= before (:server-socket (dval tapp.example/nrepl)))) ;; should have restarted on recompile/reload, hence different reference + (mount/stop) + (is (instance? mount.core.NotStartedState (dval tapp.example/nrepl)))))) + #?(:cljs (deftest cleanup-dirty-states (let [_ (mount/start #'mount.test.helper/helper)]