cascalog icon indicating copy to clipboard operation
cascalog copied to clipboard

Clojure 1.7.0 Warnings due to new core functions

Open timothypratley opened this issue 9 years ago • 7 comments

When using Clojure 1.7.0 warnings are emitted:

WARNING: some? already refers to: #'clojure.core/some? in namespace: jackknife.seq, being replaced by: #'jackknife.seq/some?
Warning: protocol #'cascalog.cascading.flow/IRunnable is overwriting function run!
WARNING: run! already refers to: #'clojure.core/run! in namespace: cascalog.cascading.flow, being replaced by: #'cascalog.cascading.flow/run!

These can be addressed by modifying the ns form: (:refer-clojure :exclude [some?])

I can submit a pull request if prefered (it is a very minor change)

midje.cascalog is especially noisy (about 50 warnings emitted)

...
WARNING: record? already refers to: #'clojure.core/record? in namespace: midje.data.project-state, being replaced by: #'midje.clojure.core/record?

timothypratley avatar Sep 30 '15 20:09 timothypratley

Sure, that'd be great!

sritchie avatar Oct 01 '15 22:10 sritchie

This is a blocker to using Clojure 1.7.0 with Cascalog. It's more than just warnings. I'm having all my tests fail when running Clojure 1.7.0. They pass with 1.6.0. Could we get this in and a new release? Some tools are starting to require 1.7.0 (clj-refactor for one).

dkincaid avatar Dec 18 '15 16:12 dkincaid

Hi @dkincaid and you try out https://github.com/nathanmarz/cascalog/pull/293 and let me know if it works for you? I believe it is good to go, but am only a light user and so it would be good to know if there are things that were overlooked.

timothypratley avatar Dec 18 '15 17:12 timothypratley

Sure I'll give it a try. Could you refresh my memory on how to build and install locally? I tried lein sub install from the root and it's able to find the lib (cascalog/cascalog-core "3.0.0-SNAPSHOT"), but I'm getting a ClassNotFoundException when trying to run the tests in my project:

Caused by: java.lang.ClassNotFoundException: cascalog.cascading.types.CascadingPlatform

dkincaid avatar Dec 18 '15 19:12 dkincaid

Interesting. There is no (:gen-class) in cascalog.cascading.types.clj and no :aot in project.clj. Don't we need those for leiningen to compile the Java classes? I added those, rebuilt and it's running now.

dkincaid avatar Dec 18 '15 20:12 dkincaid

Unfortunately, my tests are still failing under clojure 1.7.0. I'm not getting the warnings anymore about run! being overridden though. So it appears there is a more fundamental problem with at least midje-cascalog.

dkincaid avatar Dec 18 '15 20:12 dkincaid

Hey @dkincaid, can you give us an example of a test that fails under 1.7.0? Would love to get this fixed.

sritchie avatar Dec 21 '15 16:12 sritchie