No new features in the 1.4 line after this point. Bug fixes are still allowed.
Also, if somebody wants to compile a list on the wiki of all the bug
fixes and changes since 1.3, that would be very helpful. Thanks!
-Stuart Sierra
clojure.com
Hi Stu,
> Clojure 1.4 goes beta! This release is essentially the same as
> 1.4.0-alpha5. It will hit the Maven Central repository in a few
> hours.
Great news, I'd very much like to test-drive it before the 1.4.0
release. Is there anything better than downloading its JAR and
replacing the clojure-1.3.0.jar in my project with it?
As soon as I change my [org.clojure/clojure "1.3.0"] dependency to
"1.4.0-alpha5" (beta1 seems not have arrived yet) or "[1.3.0,)", maven
gets messed up when fetching dependencies...
Right now, my minimized test project deps are
:dependencies [[org.clojure/clojure "1.3.0"]
[ordered "0.3.0"]
[org.clojure/tools.macro "[0.1.1,)"]]
which works fine. Now I've seen that ordered-1.0.0 is out. That still
works fine.
:dependencies [[org.clojure/clojure "1.3.0"]
[ordered "1.0.0"]
[org.clojure/tools.macro "[0.1.1,)"]]
Now trying to get the clojure snapshot breaks maven's dependency
management.
:dependencies [[org.clojure/clojure "1.4.0-alpha5"]
[ordered "1.0.0"]
[org.clojure/tools.macro "[0.1.1,)"]]
It errors because it couldn't download
org.clojure:clojure:jar:1.3.0-alpha5. But why 1.3.0-alpha5?!?
Strangely, when reverting my test project to an older ordered version,
it works fine again.
:dependencies [[org.clojure/clojure "1.4.0-alpha5"]
[ordered "0.3.0"]
[org.clojure/tools.macro "[0.1.1,)"]]
Argh, I'll never understand maven. Is there something option to make it
show the dependency tree? I mean, tools.macro doesn't seem to have any
dependencies declared and ordered 1.0.0 has clojure "[1.2.0,1.3.0]" as
dependency. But why on earth does maven then try to get 1.3.0-alpha5?
And is there a way to influence external deps? For example, I'm pretty
sure that the ordered library works just fine with 1.4.0. Currently, it
seems to me that in order to upgrade my own project to 1.4.0, I have to
wait until all my dependencies also added 1.4.0 as a allowed dependency,
which might take ages and hinders early test-driving and adoption of new
clojure releases.
Sorry, that mail was not intended to become a long rant. But I'm really
interested to know how others deal with the "maven hell".
Bye,
Tassilo
HTH
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@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+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
--
(praki)
> Also, if somebody wants to compile a list on the wiki of all the bug
> fixes and changes since 1.3, that would be very helpful. Thanks!
That would be wonderful (particularly if someone could post a link to that list on this mailing list). Not being too steeped in the ways and means of Clojure dev workflows and practices I always find it tremendously difficult to get an understanding of what's going on with the development. As such, I have absolutely no idea what's going into 1.4, what's left to be done and how the changes will impact my Clojure software.
I'm sure that as soon as I post this, someone will reply with a link to a page with some useful information. However, I'm personally unable to easily find anything using google and/or starting here: http://dev.clojure.org/
It would be great (perhaps this already exists?) if there was a page which was just a list of version numbers with a CHANGELOG associated with each.
Sam
Last time I looked, we were still waiting for such a list/link to be
posted here for the 1.2->1.3 changes.
Hi Praki,
> I use mvn -X to diagnose such issues. mvn can also produce detailed
> reports on dependency and much more (mvn site -- I think).
I operate maven thru leiningen only, but probably I should get some
understanding of maven, too. Right now, I even cannot determine the
maven command for fetching deps (after generating a maven pom.xml using
"lein pom"). ;-)
Phil already told me how I can explicitly disable the possibly
conflicting deps of a dep of my dep inside leiningen over at
clojure-dev.
https://groups.google.com/d/msg/clojure-dev/ceGaYJfLdKE/FExtowIXSxEJ
Thanks,
Tassilo
I'm fairly sure the OP wants a human-readable, user-centric file he
can view by clicking a link or pasting a URL into his browser, not a
.md file (whatever THAT is) that he has to find, download, and unzip
the source distribution to get at.
Hi Stuart,
> Both Maven and Leiningen can exclude transitive dependencies. In lein,
> it looks like this:
>
> https://github.com/technomancy/leiningen/blob/8baf33ec80bae1d3509590215262351aa2d72fbe/sample.project.clj#L35
Yes, Phil already pointed that out, and it does the trick. :-)
Thanks,
Tassilo (running successfully on 1.4.0-beta1, now)
The md file (which stands for markdown[1]) is here:
https://github.com/clojure/clojure/blob/master/changes.md
However it only covers 1.3 and nothing w.r.t. 1.4 work
Sam
> On Fri, Feb 3, 2012 at 2:11 PM, Stuart Sierra
> <the.stua...@gmail.com> wrote:
>> Starting with 1.3 there is a changes.md file in the Clojure source.
>
> I'm fairly sure the OP wants a human-readable, user-centric file he
> can view by clicking a link or pasting a URL into his browser,
Yeah, do it exactly that way. ;-)
https://github.com/clojure/clojure/blob/master/changes.md
> not a .md file (whatever THAT is)
MarkDown, the wiki syntax used by github.
> that he has to find, download, and unzip the source distribution to
> get at.
It's 2012, the sources are browsable online!
Bye,
Tassilo
Not without a link to them they aren't.
FWIW, the file seems to act like perfectly readable HTML in the
browser (surprisingly -- I was expecting something more like trying to
read raw HTML, with tags cluttering up everything, and no working
outbound links, since I didn't expect Firefox to speak .md) but is
fairly terse on details (and, especially, on rationales for some of
the changes) though it links to a much more detailed page about the
numerics changes.
That's because Github kicks ass :-) It automatically renders markdown files as html when you view them in the browser.
Markdown was invented to be readable as raw text and then easily convertible to html.
Sam
[...]
> I operate maven thru leiningen only, but probably I should get some
> understanding of maven, too. Right now, I even cannot determine the
> maven command for fetching deps (after generating a maven pom.xml
> using "lein pom"). ;-)
mvn install
[...]
>> I operate maven thru leiningen only, but probably I should get some
>> understanding of maven, too. Right now, I even cannot determine the
>> maven command for fetching deps (after generating a maven pom.xml
>> using "lein pom"). ;-)
>
> mvn install
Ah, ok, seems to work. Except that it doesn't copy the deps into my
project but only to ~/.m2/, but that's probably the maven way. And it
fetches much more than the transitive closure of my project's
dependencies, i.e., plexus, surefire, commons-cli, doxia, and what not,
many of them even in various different versions...
Bye,
Tassilo
[...]
> Ah, ok, seems to work. Except that it doesn't copy the deps into my
> project but only to ~/.m2/, but that's probably the maven way.
Correct. Though this plugin may be of interest:
http://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html
> And it fetches much more than the transitive closure of my project's
> dependencies, i.e., plexus, surefire, commons-cli, doxia, and what
> not, many of them even in various different versions...
Yeah, probably due to deps of the plugins if you've never built any
maven project locally.
Jim
>
> Bye,
> Tassilo
The changes between 1.3 and 1.4 are a lot smaller than between 1.2 and
1.3, fortunately :)
> For example, I've found some 1.2 libraries don't play nicely with 1.3
> because of the clojure-contrib changes and would like to avoid
> problems like that while being able to use 1.4 in my code.
The contrib changes were a one-off, breaking the monolithic 1.2
contrib into smaller, well-maintained pieces, and there is already
automatic testing of those new libraries against 1.4.0 - see the
matrix tests here: http://build.clojure.org/
One thing you can do to help yourself in this is use lein-multi to
automatically run your application's tests against different versions.
At World Singles, we run all our tests against 1.3.0 (what we're using
in production), 1.4.0-master-SNAPSHOT and the latest "official" build
(currently beta1).
--
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)