Uploaded image for project: 'WildFly Core'
  1. WildFly Core
  2. WFCORE-1372

CompositeIndexProcessor::calculateModuleIndex does not respect import filters

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • Server
    • None

      I have a deployment whose manifest declares

      Dependencies: org.foo annotations

      What I'm trying to do with the org.foo module is basically filtering (and exposing) a subset of the org.apache.cxf.impl module. To achieve that, I have the following module.xml:

      <module xmlns="urn:jboss:module:1.3" name="org.foo">
          <resources>
          </resources>
      
          <dependencies>
              <module name="org.apache.cxf.impl" services="import">
                <imports>
                  <include path="META-INF/cxf"/>
                  <include path="META-INF"/>
                  <include path="org/apache/cxf/sts"/>
                  <include path="org/apache/cxf/sts/**"/>
                  <include path="org/apache/cxf/ws/security/sts/**"/>
                </imports>
                <exports>
                  <include path="META-INF/cxf"/>
                  <include path="META-INF"/>
                  <include path="org/apache/cxf/sts"/>
                  <include path="org/apache/cxf/sts/**"/>
                  <include path="org/apache/cxf/ws/security/sts/**"/>
                </exports>
              </module>
              <module name="asm.asm" />
              <module name="javax.api" />
              <module name="javax.annotation.api" />
              <module name="javax.validation.api"/>
              <module name="javax.jms.api" />
              <module name="javax.jws.api" />
              <module name="javax.mail.api" />
              <module name="javax.resource.api" />
              <module name="javax.servlet.api" />
              <module name="javax.wsdl4j.api" />
              <module name="javax.xml.bind.api" services="import"/>
              <module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider"/>
              <module name="com.sun.xml.bind" services="import"/>
              <module name="javax.xml.soap.api" />
              <module name="javax.xml.stream.api" />
              <module name="javax.xml.ws.api" />
              <module name="javax.ws.rs.api" />
              <module name="org.apache.commons.lang" />
              <module name="org.apache.httpcomponents"/>
              <module name="org.apache.neethi" />
              <module name="org.apache.velocity" />
              <module name="org.apache.xml-resolver" />
              <module name="org.apache.ws.xmlschema" />
              <module name="org.apache.ws.security" />
              <module name="org.apache.santuario.xmlsec" />
              <module name="org.codehaus.jettison" />
              <module name="org.codehaus.woodstox" />
              <module name="org.joda.time" />
              <module name="org.opensaml" />
          </dependencies>
      </module>
      

      The problem I'm having is that the composite annotation index that's attached to my deployment includes annotations from org.apache.cxf.impl module classes that are not included in the imports/exports above.
      To me, this is due to the CompositeIndexProcessor::calculateModuleIndex(Module module) method that uses PathFilters.getDefaultImportFilter() (instead of my filters) for adding stuff to the index.

            Unassigned Unassigned
            rhn-support-asoldano Alessio Soldano
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: