At the moment #include works by reading the config on the file:
This breaks #ref that are in another file "higher" up in the include hierarchy, ex:
(aero.core/read-config (clojure.java.io/resource "config_test.edn"))
;; =>
{:a "AAA"
:b "AAA"
:c {:d nil} ;; nil here - should be "AAA"
}
;; config_test.edn
{:a "AAA"
:b #ref [:a] ;; OK
:c #include "config_include.edn"
}
;;config_include.edn
{:d #ref [:a]} ;; this is not resolved
Without knowing too much about aero's internals, it seems a possible solution would be to include .edn files without resolving the tags at the 'include level.
At the moment #include works by reading the config on the file:
aero/src/aero/core.cljc
Line 86 in 1749e71
This breaks #ref that are in another file "higher" up in the include hierarchy, ex:
Without knowing too much about aero's internals, it seems a possible solution would be to include
.ednfiles without resolving the tags at the'includelevel.