quick note: the foo-one in local_mvn_repo (inside foo_two) is just v 0.1.0 without SNAPSHOT the foo-one project however is 0.1.0-SNAPSHOT
On Sat, May 25, 2013 at 10:00 AM, David Williams <mobiusinvers...@gmail.com>wrote: > This is really important, and I am totally stumped and on a deadline. > Help is greatly appreciated. > > I have a Clojure project called red-black, which in particular contains a > file called interval_tree.clj > > I have been compiling this project with lein uberjar and then using the > resulting jar in other projects by installing it in a local maven > repository. > > mvn install:install-file \ > -Dfile=../red-black/target/red-black-0.1.0.jar \ > -DgroupId=self \ > -DartifactId=red-black \ > -Dversion=0.1.0 \ > -Dpackaging=jar \ > -DgeneratePom=true \ > -DcreateChecksum=true \ > -DlocalRepositoryPath=local_mvn_repo > > The crazy thing is, I added a new function, compiled my jar and > reinstalled it in the local maven repository of another project, and now > java cant find my new function > > user=> (red-black.interval-tree/tree-to-flat-list ) > CompilerException java.lang.RuntimeException: No such var: > red-black.interval-tree/tree-to-flat-list, compiling (NO_SOURCE_PATH:1:1) > > However this function is in red-black.interval-tree.clj! I even went into > my local_mvn_repo, unzipped the jar, and looked at the interval_tree.clj > source. The function is in there! > > Whats even more strange is that the other function from that library are > accessible. For example, in my second project with the local mvn repo: > > user=> (use 'red-black.interval-tree) > nil > > Now a little tab tab magic: > > user=> (red-black.interval-tree/ > red-black.interval-tree/add-to-result > red-black.interval-tree/black > red-black.interval-tree/check-max-interval > red-black.interval-tree/get-color > red-black.interval-tree/get-hash > red-black.interval-tree/get-interval > red-black.interval-tree/get-key > red-black.interval-tree/get-left > red-black.interval-tree/get-max > red-black.interval-tree/get-parent > red-black.interval-tree/get-right > red-black.interval-tree/get-root > red-black.interval-tree/get-sentinel > red-black.interval-tree/get-value red-black.interval-tree/has? > red-black.interval-tree/health-check > red-black.interval-tree/high red-black.interval-tree/insert > red-black.interval-tree/insert-fixup > red-black.interval-tree/left-rotate red-black.interval-tree/low > red-black.interval-tree/max-of-three > red-black.interval-tree/new red-black.interval-tree/node > red-black.interval-tree/point-lookup > red-black.interval-tree/pretty-print > red-black.interval-tree/recursive-max > red-black.interval-tree/red > red-black.interval-tree/right-rotate > red-black.interval-tree/set-color > red-black.interval-tree/set-interval > red-black.interval-tree/set-key > red-black.interval-tree/set-left > red-black.interval-tree/set-max > red-black.interval-tree/set-parent > red-black.interval-tree/set-right > red-black.interval-tree/set-root > red-black.interval-tree/set-value > red-black.interval-tree/update-max > user=> (red-black.interval-tree/ > > But as you can see the funstion tree-to-flat-list is missing. When I go > back into my red-black project and launch the repl, I can invoke the > project just find. Help! As of 5 hours ago I was creating new methods in > my red-black project, compiling my uberjar and installing it in my other > project via local maven install, and new methods were being picked up just > fine. Something appears to be very wrong, please advise! > > Update: > > A self contained example of this issue is in this tarball: > > http://gorillamatrix.com/files/foo.tar.gz > > Go into foo-two and lein repl. Try to load foo-two.core, you should see > this: > > user=> (use 'foo-two.core) > CompilerException java.lang.RuntimeException: No such var: > foo-one.core/bar, compiling:(foo_two/core.clj:6:2) > > However foo-one.core/bar is certainly defined! > > -- > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.