Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

:classifier "aot" on clojurescipt dependency drops to *clojurescript-version* "0.0-3211" #431

Open
boymaas opened this issue Dec 12, 2015 · 6 comments

Comments

@boymaas
Copy link

boymaas commented Dec 12, 2015

Hi all,

:dependencies [[org.clojure/clojure "1.7.0"]
[org.clojure/clojurescript "1.7.170"
;; :classifier "aot"
:exclusion [org.clojure/data.json]
]
[org.clojure/data.json "0.2.6" :classifier "aot"]

When enabling the :classifier "aot" the clojurescript version of 1.7.170 gets ignored and cljs project compiles with 0.0-3211.

I stumbled upon this by accident when using the (random-uuid) function which is not present in 0.0-3211.

-Boy

@danielcompton
Copy link
Contributor

Can you confirm whether this happens with the bare ClojureScript compiler, i.e. is cljsbuild at fault here?

@boymaas
Copy link
Author

boymaas commented Dec 12, 2015

When I compile using the cljs.build.api it uses the correct clojurescript version. If that is what you mean? I've experimented with aot, without aot, the exclusions etc. The "AOT" case is the one that triggers the version drop only when going through cljsbuild. Hope that this helps, for now I am building without the aot classifier, and printing the clojurescipt version explicitly in case another drop should occur.

-Boy

@mneise mneise added the Bug label Dec 14, 2015
@mneise
Copy link
Collaborator

mneise commented Dec 23, 2015

I was able to reproduce this problem. It seems that we are passing the correct dependencies to leiningen when calling eval-in-project, but when having a look at the classpath later on, two ClojureScript versions are present: 0.0-3211 and 1.7.170-aot. When using 1.7.170 without aot, only 1.7.170 is included and 0.0-3211 is not in the classpath.

I probably need to have a look at the leiningen source code or talk to someone from the leiningen team to figure out, why the behaviour is different for aot.

@danielcompton
Copy link
Contributor

@mneise I've done a bit of spelunking in Leiningen dealing with transitive dependencies recently, happy to help out.

@mneise
Copy link
Collaborator

mneise commented Dec 23, 2015

@danielcompton Sure, that would be great! We need to figure out where and how the classpath is created. Had a quick look at this file so far: https://github.com/technomancy/leiningen/blob/master/leiningen-core/src/leiningen/core/classpath.clj.

frankleonrose pushed a commit to frankleonrose/mies that referenced this issue Jan 8, 2016
AOT causes cljsbuild to drop cljs version to 0.0-3211 emezeske/lein-cljsbuild#431
@mneise mneise added this to the 1.1.8 milestone Jul 30, 2017
@mneise
Copy link
Collaborator

mneise commented Jul 12, 2018

Repo to reproduce this problem: https://github.com/mneise/cljsbuild-431.

@mneise mneise removed this from the 1.1.8 milestone Apr 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants