I'm relying entirely on memory at the moment, but there are two answers to this question.
First, Sonatype's validation of -sources.jar and -javadoc.jar aren't as stringent as you might expect. That is, the OSS/central repos' validation routines appear to check for the existence of those artifacts corresponding to a given jar artifact, but they aren't inspected for completeness. So if you're AOT-compiling, just ensuring that you have -sources.jar and -javadoc.jar files in the repository you're promoting will get you past the validation (but of course not be particularly helpful in the case of -javadoc.jar, since it'd be empty). Always producing a complete -sources.jar should never be a problem. The second answer is that it'd be ideal to have autodoc output be emitted for your project, and then packaged into the -javadoc.jar. Tooling would then be able to pick up that jar file from upstream maven repos and display relevant contents as desired, just as Java IDEs do for javadoc. There's a lot of niggling little details here (e.g. how to make javadoc and autodoc output coexist in the same file hierarchy – a must for hybrid projects, settling on either a single autodoc output file layout so tooling can reliably find what they need or implementing a lookup mechanism, etc). IIRC, Tom Faulhaber seemed receptive to whatever additions would be necessary to make this possible, but it needs someone who is willing and capable of coordinating the design so that the result is useful to all known Clojure development environments (a rapidly-growing category these days). Cheers, - Chas On Jan 22, 2011, at 7:12 PM, Peter Schuller wrote: > Hello, > > I'm experimenting with getting my feet wet with proper maven central > releases by trying to get a small library[1] into maven central. > > The sonatype instructions[2] require, among other things: > > (1) If the project packaging is jar, and the jar file contains java > classes, there must be a -javadoc.jar for main artifact. > (2) If the project packaging is jar, and the jar file contains java > classes, there must be a -sources.jar for main artifact. > > It is non-obvious to me what to do about clojure projects. If I have > *only* clojure code, and disable AOT in clojure-maven-plugin, I can > address both (1) and (2) by no longer producing a jar that "contains > java classes". However, that is not sustainable. Some projects may > contain some Java code too, or else maybe AOT:ed clojure code (what is > the idiomatic approach there btw; to AOT or not to AOT?). > > clojure-contrib *seems* to be using the strategy to just include > .clj:s in the main artifact, although the clojure-contrib parent pom > implies in comments that individual modules may over-ride the lack of > AOT. How would such artifacts be accepted into maven central if they > fail (1)/(2)? > > [1] https://github.com/scode/plru > [2] > https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide > > -- > / Peter Schuller > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@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+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@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+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en