Closed arrdem closed 5 years ago
The more I stare at https://clojure.org/reference/compilation, https://dev.clojure.org/display/design/AOT+Problem+Overview and the linked JIRA issues, the less I'm convinced that this really makes sense.
The current implementation simply AOT's the source files (and, because AOT is transitive the dependencies of those source files recursively) of the current target. Which makes AOT actually completely inappropriate except for use in leaf libraries - I think.
Rather than AOT being part of a "clojure library" - because without what's referred to in CLJ-322 as "sifting" which attempts to delete classfiles not produced from enumerated sources you compile more than the library - maybe it makes sense for clojure-aot
to be its own dedicated target type intended to be a terminal product before a jar
or uberjar
which would be deployed.
Shelving this one for a bit. Needs "hammock time".
Fixes #35