Add implementation of java.io.Closeable on SystemMap,
so .close on a system calls component/stop.
See #76.
This allows use of with-open
on systems, for example (with-open [system (start system)] ...)
in tests.
Fulfulls a similar purpose as the various with-* macros
proposed in #6, #7, and elsewhere.
Also inspired by a conversation with Ian Fernandez
at Clojure South 2025.
subsystem
(motivated by conversations in #69 and elsewhere)Modify Clojure dependency to be :scope "provided"
to prevent spurious warnings when overridden by a
later version. Note that this also prevents warnings
when overridden by an earlier, incompatible
version of Clojure. Component since version 0.3.0
requires Clojure 1.7.0 or later.
(commit 5af4ad06; reported by Dave Yarwood in #65).
Update 'dependency' library to version 1.0.0
Add :extend-via-metadata to Lifecycle protocol
for Clojure 1.10 extend-via-metadata.
Backwards-compatible with earlier Clojure versions
(commit 7824f551; suggested by Joe Lane in #62).
Not backwards-compatible with ClojureScript versions before ClojureScript 1.10.516 (reported by Ryan Schmukler in #63).
ex-data keys in missing-dependency
error (reported by Howard Lewis Ship at #40)API-compatible with 0.2.x
Minimum Clojure version 1.7.0 for Conditional Read
Added ClojureScript support via Conditional Read
nil from
start or stop (commit fb891500; reported by James Gatannah
at #17)System maps print as #<SystemMap> to avoid trying to print huge
objects in the REPL (reported by Howard Lewis Ship at #9)
Add error helpers ex-component? and ex-without-components
Change :component-key to :system-key in ex-data maps:
breaking change for code which depended on the value of
:component-key
Add :system-key to ex-data map from try-action
Minor changes to exception message strings
Leiningen profiles / aliases to test on all supported Clojure versions
Add generic system-map
More descriptive messages on exceptions
Add arity-1 versions of start-system and stop-system that
default to all keys in the system
API compatible with 0.1.0
Some exception messages changed
Added default no-op implementation of Lifecycle protocol
Added update-system and update-system-reverse
Redefined start-system and stop-system in terms of these
stop-system now assoc's dependencies just like start-system
Can you improve this documentation? These fine people already did:
Stuart Sierra & Alessandra SierraEdit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |