Dear Clojurians,

the recent discussions about dependency handling
and a personal need led me to look at Ivy. I'm a bit
annoyed to have to include a 2.5MB contrib.jar when
I just want to use defvar.

So I started playing with Ivy. I modified the build
system of contrib to create one jar per module.
The modules are organised as configurations.

To use eg. pprint and def simply add a dependency
to your ivy.xml:

<dependency org="org.clojure" name="clojure-contrib" rev="latest.integration" conf="default->def,pprint"/>

This retrieves only the def and pprint jars. Refering
to eg. miglayout or lazy_xml will automatically
retrieve the miglayout resp. the xmlpull jar.

Everything depends on the tapestry build of clojure
hosted by Howard Lewis Ship.

To play with the patch apply it to clojure.contrib.
Build the jars:

  % ant

Publish the artifacts to the local repository:

  % ant publish-local

Now you can use the artifacts in your own projects.

  % ant clean
  % ant clean-local

may be used to clean the build and the repository.

This is not production ready, yet. It is quite verbose,
which I'm not a fan of.... Maybe some Ant or Ivy gurus
might want to give some tips?

Sincerely
Meikel

PS: The test stuff is probably broken. I only tested the
build part of the system.

Attachment: contrib-ivy2.diff
Description: Binary data


Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to