[slf4j-dev] [Bug 31] Varargs for Logger methods

bugzilla-daemon at pixie.qos.ch bugzilla-daemon at pixie.qos.ch
Sun Feb 10 14:42:37 CET 2008


http://bugzilla.slf4j.org/show_bug.cgi?id=31





------- Comment #17 from joern at huxhorn.de  2008-02-10 14:42 -------
I just tried to change my proposal from a different artifact to just a
different classifier for the last three hours... with little success.

The problems:
- It's not possible to simply add <classifier> to the pom artifact definition.
- The classifier must instead be set in the maven-jar-plugin configuration,
i.e.
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
                <classifier>jdk15</classifier>
  This results in the creation of an slf4j-api-{version}-jdk15.jar file.

- This means that both versions are the same for Maven. Thats why Maven
complains "Project 'org.slf4j:slf4j-api' is duplicated in the reactor" if the
master pom is used instead of the module specific.

- beside that, Maven seems to use the classifier mainly for sources and javadoc
so the above configuration of the jar-plugin does not prevent overwriting of
the sources and javadoc of the original unclassified version, i.e. both the
classified and unclassified version deploy the same sources and javadoc files,
overwriting each other. This is not acceptable.

- this overwriting could be prevented by adding "-jdk15" to the version of the
artifact manually. I don't like this at all. It also doesn't solve the "Project
'org.slf4j:slf4j-api' is duplicated in the reactor" problem.

- Mavens classifier seems to be unfinished business to me.
http://docs.codehaus.org/display/MAVENUSER/Expanded+Classifier+Support

So, for the time being, I don't think we can do this with just a single
artifact. I simply can't find a better solution than "Another less magic
proposal" at the moment.

I'd be very happy if some Maven magician would show up and prove me wrong but I
don't think there is a way to create two artifact jars from one pom, with
distinguished sources and javadoc jars.

This is IMHO a serious shortcoming of Maven.

I also miss something like an <obsoletes> tag that could be used to define that
one artifact obsoletes another one, e.g. in the log4j-over-slf4j pom
<obsoletes>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
</obsoletes>
but I maybe digress...


-- 
Configure bugmail: http://bugzilla.slf4j.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the slf4j-dev mailing list