Re: Getting clojure projects into maven central - aot vs sources, -javadoc and -sources artifacts

2011-01-26 Thread Stuart Sierra
So far, this hasn't been an issue for contrib, but only a couple of new 
contrib libraries are releasing to Maven Central right now.

-Stuart Sierra
clojure.com

-- 
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

Re: Getting clojure projects into maven central - aot vs sources, -javadoc and -sources artifacts

2011-01-24 Thread Peter Schuller
 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.

Ok. I sort of considered that but it felt like adhering to the letter
of the rules while ignoring their spirit ;) I'll go ahead and try to
be as compliant as possible.

 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).

Ok. Will see how far I take it once I get it working first.

Thank you for the input,

-- 
/ 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


Re: Getting clojure projects into maven central - aot vs sources, -javadoc and -sources artifacts

2011-01-23 Thread Chas Emerick
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


Getting clojure projects into maven central - aot vs sources, -javadoc and -sources artifacts

2011-01-22 Thread Peter Schuller
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