I've been working on an easy to use open source community repository to
complement Leiningen in making building and dependency management easier
for Clojure projects.
http://clojars.org/
It's inspired by the fantastic Gemcutter.org website that the Ruby
community uses. The repository is in the standard Maven repository
layout so in addition to Leiningen it will be usable with other tools
like Maven and Ivy as well.
The repository URL is
http://clojars.org/repo
but if you're using Leiningen you don't have to do anything special to
use it as it's already on the list of default repositories.
To push to the repository you don't need any special tools, just create
a pom.xml giving your project a group, name, version and a list of
dependencies and scp it to
clo...@clojars.org. With Leiningen this
looks like:
lein pom
scp pom.xml myproject.jar
clo...@clojars.org:
But if even that's too long and complicated for you I wrote a Leiningen
plugin which makes it just:
lein push
There's a tutorial which goes through creating, building a simple
library with Leiningen and then pushing it to Clojars repository here:
http://wiki.github.com/ato/clojars-web/tutorial
But what about Maven Central?
It's a huge hassle to get things into Maven Central. You generally have
to get manual approval from someone which can take a while and the
requirements are quite complex. I wanted a much simpler and quicker way
of distributing jars that you can use for forks and personal projects as
well.
Can I upload Java libraries?
If a Java library is not already in the Maven Central repository and
you'd like to use it in a Clojure project, sure. I'm targetting Clojure
but there's nothing stopping you from uploading jars for Java or JRuby
or Scala or anything else. If you upload a library which you're not the
author/maintainer of, please give it a personal groupId like
'org.clojars.your-username' so that you don't squat on the project's
official groupId.
Please let me know if you encounter any problems and I'll do my best to
resolve them.