Implementing the checks on the server (web-service) side and rejecting
if the quality criteria (no mirror URIs, no index.html, whatever) are
not met sounds reasonable.
I would just prefer if much of the actual metadata would be filled in
on the client/build side, not by the server/publisher. In particular,
this makes it much easier to test things locally; just look at the
artifacts.xml and check whether the stats URI is set, for example.
Also, you would not need to pass so many arguments to the publisher
server (like stats URI, mirror URI, project description). All that
IMHO should be required is the desired location on download.eclipse.org
I envision this to be a bit like Maven Central. You upload your
JAR+POM, it gets checked, and then published at a certain location of
all quality criteria are met.
In fact, I think Tycho by default already produces the perfect
artifact to upload to a publishing web service: the zipped update site.
What do you think?