ok I got the command (run inside foo-two project): mvn install:install-file -Dfile=../foo-one/target/uberjar+provided/foo-one-0.1.0-SNAPSHOT.jar -DgroupId=self -DartifactId=foo-one -Dversion=0.1.0 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true -DlocalRepositoryPath=local_mvn_repo
I actually renamed bar to bar2 and it still worked, so it definitely didn't update the foo-one from .m2 folder (and now that I checked I am sure) doing a lein deps in foo-two didn't fix it still... I guess simplest u can do is delete it from .m2 and run lein repl in foo-two ? If anyone else has any other ideas? (except incrementing verison numbers of foo-one and not forgetting to change foo-two's project.clj to match) In other words, lein is using the self/foo-one from .m2 not from your local repo (but it did install it from local repo to .m2 once) though I would've expected to recheck even though it's the same version, but perhaps it doesn't support updating the same versions On Sat, May 25, 2013 at 11:12 AM, atkaaz <atk...@gmail.com> wrote: > I could be wrong if it's checking the .md5 (which probably does) I should > try to update foo-one and install it in local repo, but I don't really know > the command :) > > > On Sat, May 25, 2013 at 11:11 AM, atkaaz <atk...@gmail.com> wrote: > >> or let me put it this way, if I touch all the files in local_mvn_repo >> and then run lein repl (or lein deps then lein repl) the newer foo-one from >> local_mvn_repo is not copied to .m2 folder, ergo I'll still be using the >> existing one (I assume you already have an existing one where you didn't >> define the bar fn) so check if you have the red black function in >> .m2\repository\self\foo-one\0.1.0 (replace with your red black project >> here) >> >> >> On Sat, May 25, 2013 at 11:06 AM, atkaaz <atk...@gmail.com> wrote: >> >>> ok nevermind I guess it works anyway: >>> user=> (use 'foo-two.core) >>> nil >>> user=> foo-one.core/bar >>> #<core$bar foo_one.core$bar@61526a45> >>> >>> I notice that lein copied that self/foo-one-0.1.0.jar into my .m2 folder >>> I wonder if somehow lein didn't do that for you and you're still using >>> the old one check your ~/.m2/self/ folder >>> >>> >>> >>> On Sat, May 25, 2013 at 10:54 AM, atkaaz <atk...@gmail.com> wrote: >>> >>>> 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.