framed-data / overseer

Overseer is a library for building and running data pipelines in Clojure.
Eclipse Public License 1.0
97 stars 10 forks source link

Explicitly require clj-http 1.1.2 #48

Closed elliot42 closed 9 years ago

elliot42 commented 9 years ago

This commit explicitly adds a dependency on at least clj-http 1.1.2. Prior to this commit, this dependency was only implicitly coming in from raven-clj, which was bringing in a very old version of clj-http that was not compatible with Clojure 1.7.

This commit makes it so that Overseer, while not requiring the latest clj-http or the latest Clojure 1.7, does require libraries that are at least forward-compatible with Clojure 1.7.

elliot42 commented 9 years ago

This should be a safe, uncontroversial change as far as I know, and it's blocking move to 1.7.

elliot42 commented 9 years ago

Deployed 0.6.8 to Clojars and confirmed that it fixes the clj-http + 1.7 incompatibility bug for this library.

elliot42 commented 9 years ago

I think that there may be a wider issue around AOT compilation--I'm trying to figure out exactly the semantics of AOT compilation, and whether pre-compiling the library is the right tradeoff. I think if it means what I think it means, then really we want to give control of compilation to the user of this library, e.g. so that Overseer gets compiled against whatever versions of whatever libraries the consumer/application wants, not whatever this was originally written against. I think if we enable AOT then we might be making it difficult or impossible for the consumers of this library to choose their compilation dependencies, we're in essence freezing the dependency versions in here, which might be premature. Here's some of the information I'm gathering:

https://www.google.com/search?q=transitive+aot+compilation&ie=utf-8&oe=utf-8