[jboss-jira] [JBoss JIRA] (WFLY-1702) Investigate module wiring consistency at build time

Thomas Diesler (JIRA) jira-events at lists.jboss.org
Tue Jul 16 05:47:27 EDT 2013


    [ https://issues.jboss.org/browse/WFLY-1702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12789863#comment-12789863 ] 

Thomas Diesler commented on WFLY-1702:
--------------------------------------

An initial analysis shows that there are 42 out of 281 modules that reference packages for which there is no dependency defined.

{code}
check-wiring-integrity:
     [echo] Checking modules integrity of /Users/tdiesler/git/wildfly/build-modular/../build/target/wildfly-8.0.0.Alpha3-SNAPSHOT/modules/system/layers/base
     [java] org.jboss.dmr:main
     [java]    org.yuanheng.cookcc
     [java] org.apache.cxf:main
     [java]    net.sf.cglib.proxy
     [java]    org.apache.aries.blueprint
     [java]    org.osgi.service.blueprint.reflect
     [java]    org.springframework.aop
     [java]    org.springframework.aop.framework
     [java]    org.springframework.aop.support
     [java]    org.springframework.beans
     [java]    org.springframework.beans.factory
     [java]    org.springframework.beans.factory.config
     [java]    org.springframework.beans.factory.support
     [java]    org.springframework.beans.factory.wiring
     [java]    org.springframework.beans.factory.xml
     [java]    org.springframework.context
     [java] org.jboss.weld.core:main
     [java]    edu.umd.cs.findbugs.annotations
     [java] com.h2database.h2:main
     [java]    org.apache.lucene.analysis
     [java]    org.apache.lucene.analysis.standard
     [java]    org.apache.lucene.document
     [java]    org.apache.lucene.index
     [java]    org.apache.lucene.queryParser
     [java]    org.apache.lucene.search
     [java]    org.apache.lucene.store
     [java]    org.apache.lucene.util
     [java] org.codehaus.woodstox:main
     [java]    com.sun.msv.grammar
     [java]    com.sun.msv.grammar.trex
     [java]    com.sun.msv.grammar.xmlschema
     [java]    com.sun.msv.reader
     [java]    com.sun.msv.reader.trex.ng
     [java]    com.sun.msv.reader.util
     [java]    com.sun.msv.reader.xmlschema
     [java]    com.sun.msv.util
     [java]    com.sun.msv.verifier
     [java]    com.sun.msv.verifier.regexp
     [java]    com.sun.msv.verifier.regexp.xmlschema
     [java] org.jboss.as.web:main
     [java]    org.apache.tools.ant
     [java]    org.apache.tools.ant.taskdefs
     [java]    org.apache.tools.ant.taskdefs.compilers
     [java]    org.apache.tools.ant.types
     [java]    org.apache.tools.ant.util
     [java]    org.eclipse.jdt.core
     [java] org.jboss.jts:main
     [java]    org.apache.tools.ant
     [java]    org.apache.tools.ant.types
     [java]    org.jfree.beans
     [java]    org.jfree.data.general
     [java]    org.jfree.data.xy
     [java]    org.tanukisoftware.wrapper
     [java] org.jboss.jandex:main
     [java]    org.apache.tools.ant
     [java]    org.apache.tools.ant.types
     [java] io.undertow.servlet:main
     [java]    org.eclipse.core.resources
     [java]    org.eclipse.core.runtime
     [java]    org.eclipse.jdt.core
     [java]    org.eclipse.jdt.core.dom
     [java]    org.eclipse.jdt.internal.core
     [java]    org.eclipse.jdt.internal.core.util
     [java] org.hibernate:3
     [java]    org.hibernate.transaction
     [java] org.apache.commons.configuration:main
     [java]    org.apache.commons.digester
     [java]    org.apache.commons.digester.substitution
     [java]    org.apache.commons.digester.xmlrules
     [java]    org.apache.commons.jxpath
     [java]    org.apache.commons.jxpath.ri
     [java]    org.apache.commons.jxpath.ri.compiler
     [java]    org.apache.commons.jxpath.ri.model
     [java]    org.apache.tools.ant.taskdefs
     [java] org.jboss.ws.tools.common:main
     [java]    org.apache.tools.ant
     [java]    org.apache.tools.ant.taskdefs
     [java]    org.apache.tools.ant.types
     [java] org.bouncycastle:main
     [java]    junit.framework
     [java]    junit.textui
     [java] org.hibernate:main
     [java]    org.apache.tools.ant
     [java]    org.apache.tools.ant.taskdefs
     [java]    org.apache.tools.ant.types
     [java] org.jboss.xb:main
     [java]    com.wutka.dtd
     [java]    org.jboss.beans.info.spi
     [java]    org.jboss.config.spi
     [java]    org.jboss.joinpoint.plugins
     [java]    org.jboss.reflect.spi
     [java] org.jgroups:main
     [java]    org.apache.logging.log4j
     [java]    org.apache.logging.log4j.core
     [java]    org.apache.logging.log4j.simple
     [java] com.sun.jsf-impl:main
     [java]    groovy.lang
     [java]    groovy.util
     [java] org.jboss.common-core:main
     [java]    org.apache.commons.httpclient
     [java]    org.apache.webdav.lib
     [java] org.jboss.ws.jaxws-client:main
     [java]    org.springframework.beans
     [java]    org.springframework.context
     [java]    org.springframework.core.io
     [java] org.hornetq:main
     [java]    org.jnp.server
     [java] org.jboss.as.jsf-injection:main
     [java]    org.apache.myfaces.config.annotation
     [java]    org.apache.myfaces.spi
     [java] org.apache.neethi:main
     [java]    org.apache.axiom.om
     [java] org.jboss.xts:main
     [java]    org.apache.commons.httpclient
     [java]    org.apache.commons.httpclient.methods
     [java] org.apache.openjpa:main
     [java]    org.apache.openjpa.persistence
     [java] org.jboss.resteasy.resteasy-jaxrs:main
     [java]    Acme.Serve
     [java]    org.junit
     [java] nu.xom:main
     [java]    junit.framework
     [java] org.dom4j:main
     [java]    com.sun.msv.datatype
     [java]    com.sun.msv.datatype.xsd
     [java]    org.gjt.xpp
     [java]    org.xmlpull.v1
     [java] com.sun.xml.messaging.saaj:main
     [java]    org.jvnet.mimepull
     [java] org.jboss.netty:main
     [java]    com.google.protobuf
     [java]    org.osgi.service.log
     [java] org.picketlink:main
     [java]    org.apache.catalina
     [java] org.jboss.as.jpa.hibernate:3
     [java]    org.hibernate.transaction
     [java] com.sun.istack:main
     [java]    org.apache.tools.ant
     [java] org.jboss.ws.cxf.jbossws-cxf-server:main
     [java]    org.springframework.beans
     [java]    org.springframework.beans.factory.support
     [java]    org.springframework.beans.factory.xml
     [java]    org.springframework.context
     [java]    org.springframework.context.support
     [java]    org.springframework.core.io
     [java]    org.springframework.core.io.support
     [java]    org.springframework.util
     [java] com.sun.xml.bind:main
     [java]    com.sun.xml.dtdparser
     [java]    org.apache.tools.ant
     [java]    org.apache.tools.ant.taskdefs
     [java]    org.apache.tools.ant.types
     [java]    org.jvnet.staxex
     [java] org.infinispan.cachestore.jdbc:main
     [java]    com.mchange.v2.c3p0
     [java] org.eclipse.persistence:main
     [java]    org.eclipse.persistence
     [java]    org.eclipse.persistence.internal.jpa.deployment
     [java]    org.eclipse.persistence.jpa
     [java]    org.eclipse.persistence.logging
     [java]    org.eclipse.persistence.platform.server.jboss
     [java]    org.eclipse.persistence.sessions
     [java] org.jacorb:main
     [java]    edu.emory.mathcs.backport.java.util
     [java]    edu.emory.mathcs.backport.java.util.concurrent
     [java]    edu.emory.mathcs.backport.java.util.concurrent.atomic
     [java]    edu.emory.mathcs.backport.java.util.concurrent.locks
     [java]    org.picocontainer
     [java]    org.picocontainer.defaults
     [java]    org.tanukisoftware.wrapper
     [java] com.google.guava:main
     [java]    javax.annotation
     [java]    javax.annotation.concurrent
     [java] org.opensaml:main
     [java]    org.apache.commons.httpclient
     [java]    org.apache.commons.httpclient.auth
     [java]    org.apache.commons.httpclient.methods
     [java]    org.apache.commons.httpclient.params
     [java]    org.apache.commons.httpclient.protocol
     [java]    org.apache.commons.httpclient.util
     [java]    org.apache.commons.ssl
     [java]    org.owasp.esapi
     [java] org.apache.cxf.impl:main
     [java]    com.hazelcast.core
     [java]    junit.framework
     [java]    net.sf.ehcache
     [java]    net.sf.ehcache.config
     [java]    org.apache.aries.blueprint
     [java]    org.apache.aries.blueprint.mutable
     [java]    org.apache.cxf.javascript
     [java]    org.apache.cxf.javascript.service
     [java]    org.apache.cxf.javascript.types
     [java]    org.apache.mina.core.buffer
     [java]    org.apache.mina.core.filterchain
     [java]    org.apache.mina.core.future
     [java]    org.apache.mina.core.service
     [java]    org.apache.mina.core.session
     [java]    org.apache.mina.filter.codec
     [java]    org.apache.mina.filter.logging
     [java]    org.apache.mina.transport.socket.nio
     [java]    org.junit
     [java]    org.junit.rules
     [java]    org.osgi.service.blueprint.container
     [java]    org.osgi.service.blueprint.reflect
     [java]    org.osgi.service.cm
     [java]    org.springframework.beans
     [java]    org.springframework.beans.factory
     [java]    org.springframework.beans.factory.annotation
     [java]    org.springframework.beans.factory.config
     [java]    org.springframework.beans.factory.support
     [java]    org.springframework.beans.factory.xml
     [java]    org.springframework.context
     [java]    org.springframework.context.annotation
     [java]    org.springframework.context.event
     [java]    org.springframework.context.support
     [java]    org.springframework.core
     [java]    org.springframework.core.io
     [java]    org.springframework.core.io.support
     [java]    org.springframework.core.task
     [java]    org.springframework.jms
     [java]    org.springframework.jms.connection
     [java]    org.springframework.jms.core
     [java]    org.springframework.jms.listener
     [java]    org.springframework.jms.support
     [java]    org.springframework.jms.support.converter
     [java]    org.springframework.jms.support.destination
     [java]    org.springframework.jndi
     [java]    org.springframework.ldap.core
     [java]    org.springframework.ldap.filter
     [java]    org.springframework.transaction
     [java]    org.springframework.transaction.support
     [java]    org.springframework.web.context
     [java]    org.springframework.web.context.support
     [java]    org.springframework.web.servlet.handler
     [java] org.apache.velocity:main
     [java]    com.werken.xpath
     [java]    org.apache.log
     [java]    org.apache.log.format
     [java]    org.apache.log.output.io
     [java]    org.apache.oro.text.perl
     [java]    org.apache.tools.ant
     [java]    org.apache.tools.ant.taskdefs
     [java] org.infinispan.client.hotrod:main
     [java]    org.apache.avro
     [java]    org.apache.avro.io
     [java] 
     [java] 42 of 281 modules inconsistent
{code}

It is well possible that some of the referenced packages are not relevant because they cannot be reached by code paths with the given setup - these can be white listed.
                
> Investigate module wiring consistency at build time
> ---------------------------------------------------
>
>                 Key: WFLY-1702
>                 URL: https://issues.jboss.org/browse/WFLY-1702
>             Project: WildFly
>          Issue Type: Task
>          Components: Build System
>            Reporter: Thomas Diesler
>            Assignee: Thomas Diesler
>             Fix For: 8.0.0.Alpha3
>
>
> Due to the use of human wiring decisions it is possible that the initial modules wiring setup is incomplete/inconsistent. Various inconsistencies can occur 
> * There are code paths in a module that require a class load for which there is no dependency defined
> * Modules define (stale) dependencies that are never used
> * Modules define dependencies that are inconsistent in the class space

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list