Tool dependecies on runtime components
--------------------------------------

                 Key: CXF-658
                 URL: https://issues.apache.org/jira/browse/CXF-658
             Project: CXF
          Issue Type: Bug
          Components: Tooling
    Affects Versions: 2.0-RC
            Reporter: Andrea Smyth


In order to get schema validation working for all of our Spring XML extensions 
I wanted to make some changes to jms.xsd.
I was a bit surprised to find this schema not in the jms module itself but in 
cxf- tools-common instead (and jms-context.xsd in cxf-common-schemas). 
An attempt to move it into xf-rt-transports-jms revealed a dependency of 
cxf-tools-wsdlto on this schema. This dependency is wrong and violates the 
principle of extensibility.
If tools want to support generation of code/wsdl that involves details of a 
specific binding or transport they should do so via an interface instead of 
hardcoding that dependency into the generators.
The concept of customising xjc with plugins is an example of how this can be 
done: the generator/tool checks on its path for components that are able to 
generate address elements for a particular address type "jms". If the jms 
module is on the path that is should implement the bit that is needed by the 
tool,  fine, the tool embeds the result into whatever else it generates.  
Otherwise the tool fails with: "No processor found for adddress type "jms" or 
similar.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to