On 1/23/07, Yoav Shapira <[EMAIL PROTECTED]> wrote:
Hola, I think that the commons-logging Maven POM ( http://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk/pom.xml in SVN) should specify scope="provided" for its Servlet API dependency. That helps users by not including the Servlet API in packaged artifacts, such as WARs, that use commons-logging. Is there a reason why the default scope ("compile") is used instead? The provided scope, as described at http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html , is designed exactly for this use case.
It was an oversight. BTW, I noticed the new optional=true parameter that's in the POM on
SVN trunk (see above URL), but not yet in the Maven repositories ( ftp://ibiblio.org/pub/packages/maven2/commons-logging/commons-logging/1.1/commons-logging-1.1.pom ).
Yep ... basically we're waiting for someone to have the energy to manage a 1.1.1 release ... as far as I know there are no other outstanding issues (there was a question of whether the trunk code works in applets, but AFAIK the answer was yes). That's a good step, but it's not sufficient for this case and does
not provide the same functionality as add scope="provided."
Why? The part of C-L that depends on the servlet API is indeed optional, and we don't want to trigger transitive dependencies on, say, a rich client app that was using C-L and would not normally have a servlet API jar lying around. My understanding of "provided" is that this would still make the servlet API be required, but not "included" with commons-logging-xxx.jar(which does not really mean anything in a project that produces a JAR instead of a WAR). Thanks,
Yoav
Craig ---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]