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.


Reply via email to