Maven vs Ivy (or Leiningen)

388 views
Skip to first unread message

OGINO Masanori

unread,
Jan 21, 2011, 3:00:15 AM1/21/11
to clo...@googlegroups.com
Hello.

Clojure will use both Ant and Maven 2. (Maven 3 may be used in the future?)

However, if we see management software world widely, there is Ivy.
Could I ask you whether Ivy is well enough or not?

; Yes, there is another notable thing, Leiningen written in Clojure.
; It sounds interesting that "Clojure uses Clojure itself in build
process" but I can't consider if possible or not.

Here are some useful pages:
http://dev.clojure.org/display/design/Common+Contrib+Build
http://dev.clojure.org/pages/viewpage.action?pageId=950842
http://ant.apache.org/ivy/m2comparison.html

Thank you.

--
Name: OGINO Masanori (荻野 雅紀)
E-mail: masanor...@gmail.com

faenvie

unread,
Jan 21, 2011, 9:02:00 AM1/21/11
to Clojure
you may want to take a look at https://bitbucket.org/kotarak/clojuresque
which adapts the feature-rich gradle-buildsystem to implement build-
logic
for 'native' clojure-projects and also makes builds for mixed-
language-
projects and multi-projects quite easy.

by default the gradle-buildsystem uses ivy for dependency-management
but
is also able to process maven2-poms. IMO dependency-management via ivy
has some advantages compared to dependency-management via maven2.
ivy + ant is also a possible combination.

the released version of clojuresque is a little bit outdated ...
publication
of a snapshot or a release und update of the documentation would be
welcome ...

cheers



On Jan 21, 9:00 am, OGINO Masanori <masanori.og...@gmail.com> wrote:
> Hello.
>
> Clojure will use both Ant and Maven 2. (Maven 3 may be used in the future?)
>
> However, if we see management software world widely, there is Ivy.
> Could I ask you whether Ivy is well enough or not?
>
> ; Yes, there is another notable thing, Leiningen written in Clojure.
> ; It sounds interesting that "Clojure uses Clojure itself in build
> process" but I can't consider if possible or not.
>
> Here are some useful pages:http://dev.clojure.org/display/design/Common+Contrib+Buildhttp://dev.clojure.org/pages/viewpage.action?pageId=950842http://ant.apache.org/ivy/m2comparison.html
>
> Thank you.
>
> --
> Name: OGINO Masanori (荻野 雅紀)
> E-mail: masanori.og...@gmail.com

faenvie

unread,
Jan 21, 2011, 9:12:17 AM1/21/11
to Clojure
>>of a snapshot or a release und update of the documentation would be
>>welcome ...

after all ... its open-source-software and audience-participation
is probably welcome ;-)

Meikel Brandmeyer

unread,
Jan 21, 2011, 9:14:33 AM1/21/11
to Clojure
Hi,

On 21 Jan., 15:02, faenvie <fanny.aen...@gmx.de> wrote:

> the released version of clojuresque is a little bit outdated ...
> publication
> of a snapshot or a release und update of the documentation would be
> welcome ...

Indeed. A new release will hopefully be available soon. A slightly
outdated SNAPSHOT is available from clojars as 1.4.0-SNAPSHOT. I will
update the SNAPSHOT over the weekend.

Sincerely
Meikel


Stuart Sierra

unread,
Jan 21, 2011, 9:18:08 AM1/21/11
to clo...@googlegroups.com
Maven was the best choice for the kind of inherited configuration we need to make sure Clojure (and soon, contrib) releases get deployed from Hudson into the Sonatype open-source repository and then into the Maven Central repository.

You can certainly use Ivy, Leiningen, Gradel, or any other tool to build Clojure projects.

-Stuart Sierra

OGINO Masanori

unread,
Jan 21, 2011, 10:11:19 AM1/21/11
to clo...@googlegroups.com
Hello.

Thank you for responses, faenvie, Meikel and Stuart.
Yes, of course, we can use each favorite management software for own
Clojure project. (if teammates agree with :))
I asked if non-Maven stuffs can be used for Clojure itself officially or not.
And then, as Stuart says, Maven may be good with this situation and
which is not so surprising.
clojuresque sounds good, so I'll see it.
Although Ant

OGINO Masanori

unread,
Jan 21, 2011, 10:31:00 AM1/21/11
to clo...@googlegroups.com
Hello.

Thank you for responses, faenvie, Meikel and Stuart.
Yes, of course, we can use each favorite management software for own
Clojure project. (if teammates agree with :))
I asked if non-Maven stuffs can be used for Clojure itself officially or not.
And then, as Stuart says, Maven may be good with this situation and
which is not so surprising.
clojuresque sounds good, so I'll see it.

Although they abuses XML, I often use Ant + Ivy and I have never hate Maven.
Also I like Leiningen but sometimes I'm confused with it because of my
ignorance.
On other languages, I use CMake, Rake, Autotools, MSBuild, etc.
I've never see the ultimate solution, but I write code and I want to
build it, so I (and you?) use them.

Anyway, I know that Clojure will use Maven surely.

Larry Travis

unread,
Jan 21, 2011, 7:49:19 PM1/21/11
to clo...@googlegroups.com, Larry Travis
I get the following when I try to install Leiningen:

-----------
larrytravis$   lein-install.sh   self-install

Downloading Leiningen now...

dyld: Library not loaded: /opt/local/lib/libintl.8.dylib
  Referenced from: /opt/local/bin/curl
  Reason: no suitable image found.  Did find:
    /opt/local/lib/libintl.8.dylib: mach-o, but wrong architecture

/Users/larrytravis/bin/lein-install.sh: line 175:  2851 Trace/BPT trap          $HTTP_CLIENT "$LEIN_JAR" "$LEIN_URL"

Failed to download https://github.com/downloads/technomancy/leiningen/leiningen-1.4.2-standalone.jar

--------
Can anybody advise me as to what I am doing wrong?

lein-install.sh is the script available at:

https://github.com/technomancy/leiningen/raw/stable/bin/lein

Also I can't download leiningen-1.4.2-standalone.jar directly from https://github.com/technomancy/leiningen/downloads, but I don't think I would know what to do with it if I could! I am a Java tyro (who knows some other lisps reasonably well) trying to use clojure under Mac Os X and Emacs, but I am having a lot of problems getting clojure to run conveniently in that environment.

Thanks for your help.
  --Larry Travis

Mark Rathwell

unread,
Jan 22, 2011, 10:28:29 AM1/22/11
to clo...@googlegroups.com

Are you using a MacPorts version of wget or curl?  If so, see:


(note the comment regarding upgrading from Leopard to Snow Leopard)

Also, for consistency, you will probably want to name your lein script just 'lein' instead of 'lein-install.sh'.

 - Mark

--
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

Mark Rathwell

unread,
Jan 22, 2011, 10:30:39 AM1/22/11
to clo...@googlegroups.com

Probably also should have mentioned, there is a leiningen specific group that is fairly active, probably a better place to post these types of questions:

Bizics

unread,
Jan 22, 2011, 2:28:59 PM1/22/11
to Clojure
Hi Larry,
I had problems installing too.
Turns out curl on mac os x does not support https as required by
github now.
I had to download and rebuild curl with the +ssl flag for https to be
supported and then things worked fine.
I could dig up my notes from when I did it if you need more
information.

Cheers,
John


On Jan 21, 4:49 pm, Larry Travis <tra...@cs.wisc.edu> wrote:
> I get the following when I try to install Leiningen:
>
> -----------
> larrytravis$   lein-install.sh   self-install
>
> Downloading Leiningen now...
>
> dyld: Library not loaded: /opt/local/lib/libintl.8.dylib
>    Referenced from: /opt/local/bin/curl
>    Reason: no suitable image found.  Did find:
>      /opt/local/lib/libintl.8.dylib: mach-o, but wrong architecture
>
> /Users/larrytravis/bin/lein-install.sh: line 175:  2851 Trace/BPT
> trap          $HTTP_CLIENT "$LEIN_JAR" "$LEIN_URL"
>
> Failed to downloadhttps://github.com/downloads/technomancy/leiningen/leiningen-1.4.2-st...
>
> --------
> Can anybody advise me as to what I am doing wrong?
>
> /lein-install.sh/ is the script available at:
>
> https://github.com/technomancy/leiningen/raw/stable/bin/lein
>
> Also I can't download /leiningen-1.4.2-standalone.jar/ directly fromhttps://github.com/technomancy/leiningen/downloads, but I don't think I

gaz jones

unread,
Jan 22, 2011, 3:16:10 PM1/22/11
to clo...@googlegroups.com
are you sure you dont have curl installed by macports or something?
/usr/bin/curl on mac os x works fine with https for me... someone at
work had this problem and they had (unknowingly) installed curl
through macports...

Mark Rathwell

unread,
Jan 24, 2011, 9:38:17 PM1/24/11
to Larry Travis, clo...@googlegroups.com

Seems pretty clear that your macports version of curl is the problem, it's up to you what you want to do about it.  I don't know if uninstalling it would leave you with the OS X version of curl or not.  Link to get you started:



On Mon, Jan 24, 2011 at 7:29 PM, Larry Travis <tra...@cs.wisc.edu> wrote:
Mark, John, Gaz:
Your responses are all suggestive but I don't know where to go from here so I am going to make one more cry for help -- and to this group rather than the leiningen-specific one suggested by Mark because my basic problem is really how-to-get-clojure/emacs-running-under-MacOsX.

Here is the situation, and my further questions:

-- I am running OsX 10.6 on a machine that has never had an earlier OsX version running on it so there should not be problems involving 10.5 to 10.6 upgrade.

-- I have downloaded and installed Macports -- including a recent upgrade. If Macports' version of curl is indeed the culprit, how do I get it replaced with a version that could download leiningen?  Do I dare just simply uninstall Macports -- which I am not using right now in any case? (All I want to do right now is work with Clojure!)

-- Although it surprised me, when I checked to see to what kernel my iMac was defaulting, I was told i386. What else could the leiningen installation process be asking for? Surely it wouldn't be expecting x86_64.

-- In the webpage Mark pointed me to is the assertion: "If only ppc and i386 are present, while you require x86_64, then the library cannot be loaded."  But also, from a different commentator: "This issue was fixed in a later version of MacPorts with better 10.6 x86_64 compatibility." Is there some way to determine if the installation process is indeed expecting an x86_64 architecture?

Thanks again.
 --Larry

-- ------------------------------------------------------------------------

Alex Osborne

unread,
Jan 24, 2011, 9:44:04 PM1/24/11
to Larry Travis, clo...@googlegroups.com
Hi Larry,

As a quick temporary workaround you could just set your PATH environment
variable so that it picks up the curl executable from /usr/bin instead
of the broken MacPorts one from /opt/local/bin.

$ which curl
/opt/local/bin/curl
$ export PATH=/usr/bin:$PATH
$ which curl
/usr/bin/curl

You'll need to do that each time you install/upgrade Leiningen though.

Since you're not using MacPorts, personally I'd opt to just rename the
entire MacPorts directory (/opt/local) out of the way:

$ sudo mv /opt/local /opt/local.broken

You could then delete it or reinstall it at a later time, whatever you
prefer.

Cheers,

Alex


Mark Rathwell <mark.r...@gmail.com> writes:

> Seems pretty clear that your macports version of curl is the problem, it's up to you what you want to do about it.  I don't know if uninstalling it would leave you with the OS X version of
> curl or not.  Link to get you started:
>
> http://www.richarddooling.com/index.php/2009/09/12/macports-on-snow-leopard/
>
> On Mon, Jan 24, 2011 at 7:29 PM, Larry Travis <tra...@cs.wisc.edu> wrote:
>
> Mark, John, Gaz:
> Your responses are all suggestive but I don't know where to go from here so I am going to make one more cry for help -- and to this group rather than the leiningen-specific one
> suggested by Mark because my basic problem is really how-to-get-clojure/emacs-running-under-MacOsX.
>
> Here is the situation, and my further questions:
>
>

gaz jones

unread,
Jan 24, 2011, 10:04:04 PM1/24/11
to clo...@googlegroups.com
i would totally recommend uninstalling macports, and moving over to
homebrew which is far better (https://github.com/mxcl/homebrew).

Sean Allen

unread,
Jan 25, 2011, 8:44:37 AM1/25/11
to clo...@googlegroups.com, Larry Travis
I wiped my macports a while back, reinstalled everything I needed and stopped having problems like this.

Larry Travis

unread,
Jan 25, 2011, 6:30:51 PM1/25/11
to clo...@googlegroups.com, Sean Allen, mark.r...@gmail.com, gareth....@gmail.com, john.stua...@gmail.com, a...@meshy.org, Larry Travis
You guys are great!  As my dad used to say when he had been greatly helped: Each of you is a scholar and a gentleman.

I admire your expertise. You each had knowledgeable and quite helpful suggestions. I ended up using Alex's ideas for getting the Leiningen installation process to avoid Macports' version of curl and go back to the Mac OsX's original version, and from there on everything has worked well. Later I will install a version of Macports specifically adapted to Snow Leopard, a la the link from Mark -- or replace Macports with Homebrew, as recommended by Gaz -- but right now I don't need either, and I want to spend my time digging more deeply into how Clojure enables one to utilize multi-core processors.

And the Clojure IDE I've got running to support that digging is just beautiful: Snow Leopard + Aquamacs + Slime.

Thanks again.
  --Larry







On 1/24/11 8:44 PM, Alex Osborne wrote:

Hi Larry,

As a quick temporary workaround you could just set your PATH environment
variable so that it picks up the curl executable from /usr/bin instead
of the broken MacPorts one from /opt/local/bin.

$ which curl
/opt/local/bin/curl
$ export PATH=/usr/bin:$PATH
$ which curl
/usr/bin/curl

You'll need to do that each time you install/upgrade Leiningen though.

Since you're not using MacPorts, personally I'd opt to just rename the
entire MacPorts directory (/opt/local) out of the way:

$ sudo mv /opt/local /opt/local.broken

You could then delete it or reinstall it at a later time, whatever you
prefer.

Cheers,

Alex


Mark Rathwell <mark.r...@gmail.com> writes:

Reply all
Reply to author
Forward
0 new messages