Bug 985894

Summary: jbossws-cxf-client:jar:4.1.4.Final-redhat-1 doesn't use productized bits
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Rostislav Svoboda <rsvoboda>
Component: Web Services, Build, Maven RepositoryAssignee: Paul Gier <pgier>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.1.1CC: cdewolf, dosoudil, myarboro, pgier, psakar
Target Milestone: ER6   
Target Release: EAP 6.1.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-09-16 20:28:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Comment 1 Rostislav Svoboda 2013-07-18 13:41:57 UTC
see jboss-eap-6.1.1.GA-maven-repository/org/jboss/ws/cxf/jbossws-cxf/4.1.4.Final-redhat-1/jbossws-cxf-4.1.4.Final-redhat-1.pom from maven repo zip

Comment 2 Rostislav Svoboda 2013-07-18 14:28:43 UTC
Paul, when building new maven repo zip to fix this issue, please take a look at BZ 985936.

Comment 3 Rostislav Svoboda 2013-07-19 08:57:32 UTC
BZ 986201 is related to CXF and build procedure.

Comment 5 Rostislav Svoboda 2013-07-22 14:02:55 UTC
Adding blocker flag, we can't accept ER4 without this fixed.

Comment 7 Rostislav Svoboda 2013-07-25 10:59:35 UTC
We received updated maven repo zip - http://download.lab.bos.redhat.com/devel/staging/JBEAP/JBEAP-6.1.1.ER3.1/

There are still problems because not all artifacts in dependency tree are productized. Compare for example dependency tree from EAP 6.1.0 [1] and dependency tree from EAP 6.1.1 ER3.1 [2]

Non-redhat artifacts from dependency tree from EAP 6.1.1 ER3.1:

   |  \- jboss.jaxbintros:jboss-jaxb-intros:jar:1.0.2.GA:compile
   |     \- commons-beanutils:commons-beanutils:jar:1.8.0:compile

   |  |  \- org.apache.ws.xmlschema:xmlschema-core:jar:2.0.3:compile

   |  +- xml-resolver:xml-resolver:jar:1.2:compile

   |  +- org.jboss.spec.javax.jms:jboss-jms-api_1.1_spec:jar:1.0.1.Final:compile
   |  +- com.sun.xml.bind:jaxb-impl:jar:2.1.13:compile
   |  \- com.sun.xml.bind:jaxb-xjc:jar:2.1.13:compile

   |  \- org.apache.neethi:neethi:jar:3.0.2:compile

   |  +- net.sf.ehcache:ehcache-core:jar:2.5.1:compile
   |  +- org.apache.ws.security:wss4j:jar:1.6.10:compile
   |  |  \- org.opensaml:opensaml:jar:2.5.1-1:compile
   |  |     \- org.opensaml:openws:jar:1.4.2-1:compile
   |  |        \- org.opensaml:xmltooling:jar:1.3.2-1:compile
   |  |           \- joda-time:joda-time:jar:1.6.2:compile
   |  \- commons-logging:commons-logging:jar:1.1.1:compile

   |  +- wsdl4j:wsdl4j:jar:1.6.3:compile

   +- stax:stax-api:jar:1.0.1:compile

   +- log4j:log4j:jar:1.2.16:compile



[1] http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eap-6x-jbossws-cxf-client-dep-tree/5/artifact/jbossqe-eap-tests-ws/jbossws-cxf-client/dependency-tree-4.1.3.Final-redhat-3.txt
[2] http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eap-6x-jbossws-cxf-client-dep-tree/8/artifact/jbossqe-eap-tests-ws/jbossws-cxf-client/dependency-tree-4.1.4.Final-redhat-2.txt

Comment 8 Paul Gier 2013-07-30 04:09:12 UTC
I set the versions of these transitive dependencies in the dependency management of jbossws-cxf-client pom.  However, due to one of the quirks of Maven dependency resolution, these versions are not used when jbossws-cxf-client is used as a dependency.  An example of this behavior is that will prefer the version of commons-beanutils specified in jaxbintros over the version of commons-beanutils specified at the higher level in jbossws-cxf-client.

So the only workaround I could come up with for this, is to promote the second level and lower transitive dependencies to be direct dependencies of jbossws-cxf-client.  This forces the correct versions of these dependencies to be used.

New build is available in brew:
https://brewweb.devel.redhat.com/buildinfo?buildID=284150

Comment 9 Paul Gier 2013-07-30 21:15:51 UTC
Some additional info about this.  Several of the above dependencies are unsupported dependencies.  For these dependencies, the community versions should be used since these are not required to be built from source.

net.sf.ehcache:ehcache-core:jar:2.5.1:compile
commons-logging:commons-logging:jar:1.1.1:compile
stax:stax-api:jar:1.0.1:compile
log4j:log4j:jar:1.2.16:compile

The rest of the dependencies should now be set to the supported product versions when using jbossws-cxf-client.

Comment 10 Petr Sakař 2013-08-01 07:33:59 UTC
At this moment the product is correctly productized except the dependency 
 javax.xml.bind:jaxb-api:jar:2.1:compile of jboss.jaxbintros:jboss-jaxb-intros:jar:1.0.2.GA-redhat-5:compile 
(see https://jenkins.mw.lab.eng.bos.redhat.com/hudson/view/EAP6/view/EAP6-WS/job/eap-6x-jbossws-cxf-client-dep-tree/9/artifact/jbossqe-eap-tests-ws/jbossws-cxf-client/dependency-tree-4.1.4.Final-redhat-3.txt)

To be entirely correct, org/jboss/spec/javax/xml/bind/jboss-jaxb-api_2.2_spec/1.0.4.Final-redhat-2/jboss-jaxb-api_2.2_spec-1.0.4.Final-redhat-2.jar should be used.

Comment 13 Paul Gier 2013-08-13 22:09:39 UTC
New build of jaxbintros:
https://brewweb.devel.redhat.com/buildinfo?buildID=286329

And new builds of jbossws-cxf:
https://brewweb.devel.redhat.com/buildinfo?buildID=286365

It's hard to verify that all the deps in the tree are correct, but the maven repo test seemed ok.

Comment 14 Petr Sakař 2013-08-15 10:17:15 UTC
Failed - see https://jenkins.mw.lab.eng.bos.redhat.com/hudson/view/EAP6/view/EAP6-WS/job/eap-6x-jbossws-cxf-client-dep-tree/lastSuccessfulBuild/artifact/jbossqe-eap-tests-ws/jbossws-cxf-client/dependency-tree-4.1.4.Final-redhat-4.txt

List of dependencies which are wrong (they are supported but using upstream version in dependency tree)
commons-logging:commons-logging:jar:1.1.1:compile
(repository/jboss-eap-6.1/commons-logging/commons-logging/1.1.1-redhat-2/commons-logging-1.1.1-redhat-2.jar)
net.sf.ehcache:ehcache-core:jar:2.5.1:compile
(repository/jboss-eap-6.1/net/sf/ehcache/ehcache-core/2.5.1-redhat-1/ehcache-core-2.5.1-redhat-1.jar)

List of dependency which are correctly using upstream version
com.sun:tools:jar:1.6:system
stax:stax-api:jar:1.0.1:compile
log4j:log4j:jar:1.2.16:compile

Comment 15 Paul Gier 2013-08-15 12:49:26 UTC
Those two (commons-logging and ehcached) are actually not supported runtime jars.  They have been included in the Maven repo in previous releases because they were referred to by some of the poms.  So it might be a better option to just remove those from the Maven repo.  I'll just have to check if any other poms point directly to those ones.

Comment 16 Rostislav Svoboda 2013-08-15 13:14:19 UTC
Paul, do we have list of supported and unsupported jars ?

Comment 17 Petr Sakař 2013-08-15 13:31:18 UTC
Just for additional info, local maven repo for 6.1.0.GA (http://download.devel.redhat.com/released/JBEAP-6/6.1.0/jboss-eap-6.1.0-maven-repository.zip)
contained supported versions for ehcache (/jboss-eap-6.1.0.GA-maven-repository/net/sf/ehcache/ehcache-core/2.5.1-redhat-1/)
log4j (/jboss-eap-6.1.0.GA-maven-repository/log4j/log4j/1.2.16-redhat-2/)
and
commons-logging (/jboss-eap-6.1.0.GA-maven-repository/commons-logging/commons-logging/1.1.1-redhat-2/)

I would personally call it regression, but please take it as my personal opionion which can be wrong

Comment 18 Paul Gier 2013-08-15 13:34:35 UTC
Yes, the full list of supported jars is in the main EAP BOM (org.jboss.component.management:jboss-dependency-management-eap:6.1.1.Final-redhat-X).  The version X is noted in the readme.

Comment 19 Paul Gier 2013-08-15 13:37:47 UTC
> I would personally call it regression

IMO, it was a bug in the 6.1.0 repository to include those because they are not part of the EAP runtime, and are only used for building.  AFAIK, we did not provide any actual support for those jars, they were only there to satisfy Maven dependency resolution for certain test cases.

Comment 20 Petr Sakař 2013-08-15 14:15:15 UTC
(In reply to Paul Gier from comment #19)
> > I would personally call it regression
> 
> IMO, it was a bug in the 6.1.0 repository to include those because they are
> not part of the EAP runtime, and are only used for building.  AFAIK, we did
> not provide any actual support for those jars, they were only there to
> satisfy Maven dependency resolution for certain test cases.

Log4j was included in /jboss-eap-6.1.0.GA-maven-repository/org/jboss/component/management/jboss-dependency-management-eap/6.1.0-redhat-2/jboss-dependency-management-eap-6.1.0-redhat-2.pom

commons-logging and ehcache-core were not included

in JBEAP-6.1.1.ER5 (/jboss-eap-6.1/org/jboss/component/management/jboss-dependency-management-eap/6.1.1.Final-redhat-48/jboss-dependency-management-eap-6.1.1.Final-redhat-48.pom) none is included.

Comment 21 Paul Gier 2013-08-15 17:03:45 UTC
That is correct, none of those jars are supported, so none of them should be included in that pom.  It was a bug that log4j was included in the previous release.

Comment 22 Paul Gier 2013-08-15 18:40:53 UTC
The quickstarts and prod maven repo tests seem to work fine without the unsupported commons-logging and ehcache builds, so I have removed them from the repository:
http://git.app.eng.bos.redhat.com/?p=jboss-eap/maven-repository-testsuite.git;a=commitdiff;h=ccb8936a8240a6e8bea3a66439f8476f51e151b5

Comment 23 Petr Sakař 2013-08-16 09:08:51 UTC
Verified all supported dependecies are present in BOM
Verified all unsupported dependencies are not in BOM
 com.sun:tools
 net.sf.ehcache:ehcache-core
 stax:stax-api
 log4j:log4j

Verified supported dependencies are present in local mave repo

Comment 24 Petr Sakař 2013-08-16 09:37:34 UTC
for the record list of dependencies

https://jenkins.mw.lab.eng.bos.redhat.com/hudson/view/EAP6/view/EAP6-WS/job/eap-6x-jbossws-cxf-client-dep-tree/lastSuccessfulBuild/artifact/jbossqe-eap-tests-ws/jbossws-cxf-client/dependency-tree-4.1.4.Final-redhat-6.txt


org.jboss.ws.cxf:jbossws-cxf-client-test:jar:1.0.0.Final
\- org.jboss.ws.cxf:jbossws-cxf-client:jar:4.1.4.Final-redhat-6:compile
   +- com.sun.xml.bind:jaxb-impl:jar:2.2.5-redhat-5:compile
   |  +- com.sun.istack:istack-commons-runtime:jar:2.6.1-redhat-2:compile
   |  \- com.sun.xml.txw2:txw2:jar:20110809-redhat-2:compile
   +- com.sun.xml.bind:jaxb-xjc:jar:2.2.5-redhat-5:compile
   |  +- com.sun.codemodel:codemodel:jar:2.6-redhat-2:compile
   |  +- com.sun.istack:istack-commons-tools:jar:2.6.1-redhat-2:compile
   |  |  \- com.sun:tools:jar:1.6:system
   |  +- com.github.relaxng:relaxngDatatype:jar:2011.1-redhat-6:compile
   |  +- org.kohsuke.rngom:rngom:jar:201103-redhat-2:compile
   |  \- com.sun.xsom:xsom:jar:20110809-redhat-3:compile
   +- commons-beanutils:commons-beanutils:jar:1.8.3.redhat-3:compile
   |  \- commons-logging:commons-logging:jar:1.1.1:compile
   +- jboss.jaxbintros:jboss-jaxb-intros:jar:1.0.2.GA-redhat-6:compile
   +- joda-time:joda-time:jar:1.6.2-redhat-4:compile
   +- org.apache.neethi:neethi:jar:3.0.2-redhat-2:compile
   +- org.apache.ws.security:wss4j:jar:1.6.10-redhat-1:compile
   +- org.apache.ws.xmlschema:xmlschema-core:jar:2.0.2-redhat-2:compile
   +- org.jboss.spec.javax.jms:jboss-jms-api_1.1_spec:jar:1.0.1.Final-redhat-2:compile
   +- org.opensaml:opensaml:jar:2.5.1.redhat-2:compile
   +- org.opensaml:openws:jar:1.4.2.redhat-4:compile
   +- org.opensaml:xmltooling:jar:1.3.2-redhat-4:compile
   |  +- org.slf4j:slf4j-api:jar:1.7.2-redhat-1:compile
   |  \- net.jcip:jcip-annotations:jar:1.0-redhat-3:compile
   +- wsdl4j:wsdl4j:jar:1.6.2-redhat-4:compile
   +- xml-resolver:xml-resolver:jar:1.2-redhat-3:compile
   +- org.jboss.ws:jbossws-api:jar:1.0.1.Final-redhat-1:compile
   +- org.jboss.ws:jbossws-common:jar:2.1.3.Final-redhat-1:compile
   +- org.jboss.ws:jbossws-common-tools:jar:1.1.0.Final-redhat-1:compile
   |  \- gnu-getopt:getopt:jar:1.0.13-redhat-2:compile
   +- org.jboss.ws:jbossws-spi:jar:2.1.3.Final-redhat-1:compile
   +- org.jboss.ws.cxf:jbossws-cxf-factories:jar:4.1.4.Final-redhat-6:compile
   +- org.jboss.ws.cxf:jbossws-cxf-transports-httpserver:jar:4.1.4.Final-redhat-6:compile
   |  +- org.jboss.ws.projects:jaxws-jboss-httpserver-httpspi:jar:1.0.1.GA-redhat-2:compile
   |  \- org.jboss.com.sun.httpserver:httpserver:jar:1.0.1.Final-redhat-2:compile
   +- org.apache.cxf:cxf-rt-bindings-soap:jar:2.6.8.redhat-6:compile
   |  +- org.apache.cxf:cxf-api:jar:2.6.8.redhat-6:compile
   |  \- org.apache.cxf:cxf-rt-databinding-jaxb:jar:2.6.8.redhat-6:compile
   +- org.apache.cxf:cxf-rt-bindings-object:jar:2.6.8.redhat-6:compile
   +- org.apache.cxf:cxf-rt-bindings-coloc:jar:2.6.8.redhat-6:compile
   |  \- org.apache.cxf:cxf-rt-core:jar:2.6.8.redhat-6:compile
   +- org.apache.cxf:cxf-rt-frontend-jaxws:jar:2.6.8.redhat-6:compile
   |  +- org.apache.cxf:cxf-rt-bindings-xml:jar:2.6.8.redhat-6:compile
   |  +- org.apache.cxf:cxf-rt-frontend-simple:jar:2.6.8.redhat-6:compile
   |  \- org.apache.cxf:cxf-rt-ws-addr:jar:2.6.8.redhat-6:compile
   +- org.apache.cxf:cxf-rt-transports-http:jar:2.6.8.redhat-6:compile
   +- org.apache.cxf:cxf-rt-transports-jms:jar:2.6.8.redhat-6:compile
   |  \- org.apache.cxf:cxf-rt-management:jar:2.6.8.redhat-6:compile
   +- org.apache.cxf:cxf-rt-transports-local:jar:2.6.8.redhat-6:compile
   +- org.apache.cxf:cxf-rt-ws-mex:jar:2.6.8.redhat-6:compile
   +- org.apache.cxf:cxf-rt-ws-rm:jar:2.6.8.redhat-6:compile
   +- org.apache.cxf:cxf-rt-ws-policy:jar:2.6.8.redhat-6:compile
   +- org.apache.cxf:cxf-rt-ws-security:jar:2.6.8.redhat-6:compile
   |  \- net.sf.ehcache:ehcache-core:jar:2.5.1:compile
   +- org.apache.cxf:cxf-tools-java2ws:jar:2.6.8.redhat-6:compile
   |  +- org.apache.cxf:cxf-tools-common:jar:2.6.8.redhat-6:compile
   |  \- org.apache.cxf:cxf-rt-databinding-aegis:jar:2.6.8.redhat-6:compile
   +- org.apache.cxf:cxf-tools-wsdlto-core:jar:2.6.8.redhat-6:compile
   |  \- org.apache.cxf:cxf-tools-validator:jar:2.6.8.redhat-6:compile
   +- org.apache.cxf:cxf-tools-wsdlto-databinding-jaxb:jar:2.6.8.redhat-6:compile
   +- org.apache.cxf:cxf-tools-wsdlto-frontend-jaxws:jar:2.6.8.redhat-6:compile
   +- org.apache.cxf.xjcplugins:cxf-xjc-boolean:jar:2.6.0.redhat-4:compile
   +- org.apache.cxf.xjcplugins:cxf-xjc-dv:jar:2.6.0.redhat-4:compile
   +- org.apache.cxf.xjcplugins:cxf-xjc-ts:jar:2.6.0.redhat-4:compile
   +- org.apache.velocity:velocity:jar:1.7-redhat-2:compile
   +- commons-collections:commons-collections:jar:3.2.1-redhat-2:compile
   +- commons-lang:commons-lang:jar:2.6-redhat-2:compile
   +- stax:stax-api:jar:1.0.1:compile
   +- org.apache.santuario:xmlsec:jar:1.5.5-redhat-1:compile
   +- org.codehaus.woodstox:woodstox-core-asl:jar:4.2.0-redhat-2:compile
   |  \- org.codehaus.woodstox:stax2-api:jar:3.1.1-redhat-3:compile
   +- asm:asm:jar:3.3.1-redhat-4:compile
   +- org.jboss.spec.javax.xml.rpc:jboss-jaxrpc-api_1.1_spec:jar:1.0.1.Final-redhat-3:compile
   |  \- org.jboss.spec.javax.servlet:jboss-servlet-api_3.0_spec:jar:1.0.2.Final-redhat-1:compile
   +- javax.jws:jsr181-api:jar:1.0-MR1-redhat-3:compile
   +- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.2_spec:jar:1.0.4.Final-redhat-2:compile
   +- org.jboss.spec.javax.xml.ws:jboss-jaxws-api_2.2_spec:jar:2.0.1.Final-redhat-2:compile
   +- org.jboss.spec.javax.xml.soap:jboss-saaj-api_1.3_spec:jar:1.0.2.Final-redhat-2:compile
   +- log4j:log4j:jar:1.2.16:compile
   \- org.jboss.logging:jboss-logging:jar:3.1.2.GA-redhat-1:compile