Maven 2 Plugin for Java2WSDL
----------------------------

                 Key: CXF-635
                 URL: https://issues.apache.org/jira/browse/CXF-635
             Project: CXF
          Issue Type: New Feature
          Components: Tooling
            Reporter: Chris Moesel
         Attachments: wsdlgen-plugin.patch

I am attaching a patch for the cxf-wsdlgen-plugin.  The cxf-wsdlgen-plugin is a 
Maven 2 plugin for generating the WSDL from annotated Java code.  Essentially, 
it is a MOJO wrapper for JavaToWSDL.  It can be used like so:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-wsdlgen-plugin</artifactId>
      <version>2.0-incubator-SNAPSHOT</version>
      <executions>
        <execution>
          <id>generate-wsdl</id>
          <phase>process-classes</phase>
          <configuration>
            <className>org.apache.cxf.JavaToWSDLExampleService</className>
            <!-- The following elements are all optional
            <outputFile>C:\cxf-examples\myservice.wsdl</outputFile>
            <classpath>${project.build.outputDirectory}</classpath>
            <soap12>true</soap12>
            <targetNamespace>http://org.apache.cxf/example</targetNamespace>
            <serviceName>JavaToWSDLExampleService</serviceName>
            <verbose>true</verbose>
            <quiet>true</quiet>
            -->
          </configuration>
          <goals>
            <goal>java2wsdl</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <configuration>
        <source>1.5</source>
        <target>1.5</target>
      </configuration>
    </plugin>
  </plugins>
  <defaultGoal>install</defaultGoal>
</build>

Note that className is the only required configuration parameter.  If no 
outputFile is specified, it will put the WSDL in 
${project.build.directory}/generated/wsdl.  If classpath is not specified, it 
defaults to ${project.build.outputDirectory} (which is usually target/classes).

I originally intended to include this plugin as part of the cxf-codegen-plugin 
module, but ran into problems with cyclic dependencies in Maven.  The 
cxf-codegen-plugin module would need to depend on cxf-tools-java2wsdl-- but 
cxf-tools-java2wsdl depends on cxf-codegen-plugin.  I tried to get rid of the 
cyclic dependencies, but everytime I got rid of one, another would show up.  
So... cxf-wsdlgen-plugin is its own module. ;)

-- 
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