Gilles Scokart wrote:
I just realized a few days ago that ivy is not published on a maven
repository. Shouldn't we?
I know we don't really have a published API.  But is it a good reason to
not publish the ivy library on a repository?

What I don't know is:

-          Are allowed to do it as an incubating project?  I think yes,
but I'm not sure.

I''ve emailed repository@ to see what the answer is. I think you may be encouraged to stick it on on the snapshots repository.


-          Is it a good practice to publish alpha (or beta) release on
the central maven repository?

For stuff you update on a daily/weekly basis, it is not ideal, but for things you intend to last around, go for it, especially the beta.

With SmartFrog I'm just running a private repository at http://smartfrog.sourceforge.net/repository; getting the whole pom creation and artifact upload automated with our fortnightly releases. once we come out of beta I'll put the live things up.

Should we release our alpha-2 on a maven repository?  Should we release
our new beta-1 release on a maven repo?


+1, to the beta, 0 to the alpha.

In that case, what should be our pom?

0. Include the schema and stick things in the right place for an M2 pom. Let's be a good citizen

1. keep its dependencies minimal. Its not to build the thing, only let people use it.

2. I like to include (as a comment) some metadata about who wrote the file, when, etc. We do this in the build by expanding a property in a comment when creating the POM; lets me stick in whatever comments I want.

Here's the kind of POM I create
http://smartfrog.sourceforge.net/repository/org/smartfrog/sf-junit/3.11.005beta/sf-junit-3.11.005beta.pom

And here's the template I build it from:
http://smartfrog.svn.sourceforge.net/viewvc/smartfrog/trunk/core/components/junit/project-template.pom?view=markup


And what packaging should we use?  I mean, should we build different
jars than the one we have now.  Indeed the decomposition that we have
now is guided by the idea to have a single jar in order to make it
easier to manipulate it.  But on a repository, the goal should be to
have to allow the user to get only what he need.

Three options

-a big fat jar with all the optional dependencies declared as mandatory
-a big fat jar with no optional dependencies
-lots of little jars with the optional dependencies pulled in.

You can also create a super bundle that pulls in the little JARs

steve

Reply via email to