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.


Reply via email to