[
https://issues.apache.org/jira/browse/SYNAPSE-530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12694239#action_12694239
]
Andreas Veithen commented on SYNAPSE-530:
-----------------------------------------
I think what Jason tries to point out is that the code in core uses
javax.activation and commons-codec, but that these libraries are only present
as transitive dependencies and not declared as direct dependencies. BTW, here
is the complete list calculated by mvn dependency:analyze: (I prefer good old
command line tools :-)
[WARNING] Used undeclared dependencies found:
[WARNING] org.apache.axis2:axis2-transport-http:jar:1.0-SNAPSHOT:compile
[WARNING] org.apache.ws.commons.schema:XmlSchema:jar:1.4.3:compile
[WARNING] xml-apis:xml-apis:jar:1.3.04:compile
[WARNING] org.apache.ws.commons.axiom:axiom-impl:jar:1.2.8:compile
[WARNING] wsdl4j:wsdl4j:jar:1.6.2:compile
[WARNING] javax.mail:mail:jar:1.4:compile
[WARNING] org.apache.ws.commons.axiom:axiom-api:jar:1.2.8:compile
[WARNING] stax:stax-api:jar:1.0.1:compile
[WARNING] commons-io:commons-io:jar:1.4:compile
[WARNING] org.apache.geronimo.specs:geronimo-saaj_1.3_spec:jar:1.0.1:compile
[WARNING] jaxen:jaxen:jar:1.1.1:compile
[WARNING] org.apache.axis2:axis2-transport-base:jar:1.0-SNAPSHOT:compile
[WARNING] org.apache.ws.commons.axiom:axiom-dom:jar:1.2.8:compile
[WARNING] commons-codec:commons-codec:jar:1.2:compile
[WARNING] javax.activation:activation:jar:1.1:compile
There are indeed people who say that when you use a library in your code, you
should always declare it as (direct) dependency. I tend to partially disagree
with this. Actually the two libraries identified by Jason illustrate this very
well:
* activation is a library that comes in as a transitive dependency through
Axis2. The point is that classes from activation appear in the Axis2 API. There
is therefore no risk that activation will ever disappear as a transitive
dependency and the best solution is to let Axis2 choose the incarnation (Sun or
Geronimo) and version of that library. There is no point here to declare this
dependency explicitly on synapse-core.
* Things are different for commons-codec: probably the use of commons-codec in
commons-httpclient is not visible in the API and it could be very well that in
a future version of httpclient this dependency disappears. In that case it
makes sense to say that if synapse-core uses classes from commons-coded, it
should declare that library as an explicit dependency.
> Missing dependencies
> --------------------
>
> Key: SYNAPSE-530
> URL: https://issues.apache.org/jira/browse/SYNAPSE-530
> Project: Synapse
> Issue Type: Bug
> Components: Core
> Affects Versions: NIGHTLY
> Environment: Maven 2.0.8, Mac OS X Leopard, Apple JDK 5.0
> Reporter: Jason Fager
> Attachments: synapse-core dependency graph from within Eclipse
> POM-Editor.jpg
>
>
> Synapse core has dependencies on
> javax.activation
> commons-codec
> But they aren't currently listed in the project's pom.xml.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]