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 Repository | Assignee: | Paul Gier <pgier> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | |
Severity: | urgent | Docs Contact: | |
Priority: | urgent | ||
Version: | 6.1.1 | CC: | 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: |
Description
Rostislav Svoboda
2013-07-18 13:00:59 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 Paul, when building new maven repo zip to fix this issue, please take a look at BZ 985936. BZ 986201 is related to CXF and build procedure. Adding blocker flag, we can't accept ER4 without this fixed. 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 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 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. 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. 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. 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 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. Paul, do we have list of supported and unsupported jars ? 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 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. > 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.
(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. 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. 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 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 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 |