You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Stephen Ferro (JIRA)" <ji...@apache.org> on 2018/04/03 12:47:00 UTC

[jira] [Commented] (CXF-6324) cxf-codegen-plugin: classifier ignored when there are more then one client project with the same parent

    [ https://issues.apache.org/jira/browse/CXF-6324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16423965#comment-16423965 ] 

Stephen Ferro commented on CXF-6324:
------------------------------------

Hi,

I have the same issue on my projet which generates 2 wsdl with different classifiers. It looks like the issue is located on the private method 

org.apache.cxf.maven_plugin.AbstractCodegenMoho#findWsdlArtifact(Artifact , Collection<Artifact>)
{code:java}
private Artifact findWsdlArtifact(Artifact targetArtifact, Collection<Artifact> artifactSet) {
    if (artifactSet != null && !artifactSet.isEmpty()) {
        for (Artifact pArtifact : artifactSet) {
            if (targetArtifact.getGroupId().equals(pArtifact.getGroupId())
                    && targetArtifact.getArtifactId().equals(pArtifact.getArtifactId())
                    && targetArtifact.getVersion().equals(pArtifact.getVersion()) 
                    && ("wsdl".equals(pArtifact.getType()) 
                    || (
                            targetArtifact.getClassifier() != null
                                    && pArtifact.getType() != null
                                    && (targetArtifact.getClassifier() + ".wsdl").equals(pArtifact.getType())
                    ))) {
                return pArtifact;
            }
        }
    }
    return null;
}{code}
I presume, if the classifier is provided in the wsdl options the logic should rely on this information.

 

 

> cxf-codegen-plugin: classifier ignored when there are more then one client project with the same parent
> -------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-6324
>                 URL: https://issues.apache.org/jira/browse/CXF-6324
>             Project: CXF
>          Issue Type: Bug
>          Components: Tooling
>    Affects Versions: 3.0.4, 2.7.15
>            Reporter: Fabrizio Giovannetti
>            Priority: Major
>
> Given this project structure:
> parent
> - client1
> - client2
> and
> client1 with this configuration
>   <plugin>
>         <groupId>org.apache.cxf</groupId>
>         <artifactId>cxf-codegen-plugin</artifactId>
>         <version>3.0.4</version>
>         <executions>
>           <execution>
>             <id>generate-sources</id>
>             <phase>generate-sources</phase>
>             <configuration>
>               <sourceRoot>${project.build.directory}/generated-sources/cxf</sourceRoot>
>               <wsdlOptions>
>                 <wsdlOption>
>                    <wsdlArtifact>
>                     <groupId>com.company</groupId>
>                     <artifactId>company-services</artifactId>
>                     <version>1.0</version>
>                     <classifier>catService</classifier>
>                    </wsdlArtifact>
>                 </wsdlOption>
>               </wsdlOptions>
>               <defaultOptions>
>                 <faultSerialVersionUID>FQCN</faultSerialVersionUID>
>               </defaultOptions>
>             </configuration>
>             <goals>
>               <goal>wsdl2java</goal>
>             </goals>
>           </execution>
>         </executions>
>       </plugin>
> and client 2 with this configuration
> <plugin>
>         <groupId>org.apache.cxf</groupId>
>         <artifactId>cxf-codegen-plugin</artifactId>
>         <version>3.0.4</version>
>         <executions>
>           <execution>
>             <id>generate-sources</id>
>             <phase>generate-sources</phase>
>             <configuration>
>               <sourceRoot>${project.build.directory}/generated-sources/cxf</sourceRoot>
>               <wsdlOptions>
>                 <wsdlOption>
>                    <wsdlArtifact>
>                     <groupId>com.company</groupId>
>                     <artifactId>company-services</artifactId>
>                     <version>1.0</version>
>                     <classifier>dogService</classifier>
>                    </wsdlArtifact>
>                 </wsdlOption>
>               </wsdlOptions>
>               <defaultOptions>
>                 <faultSerialVersionUID>FQCN</faultSerialVersionUID>
>               </defaultOptions>
>             </configuration>
>             <goals>
>               <goal>wsdl2java</goal>
>             </goals>
>           </execution>
>         </executions>
>       </plugin>
> When the the build is executed of the parent project
>  
> then:
> cxf-codegen-plugin in client1 fetch correctly the 
> com.company:company-services:1.0:catService from the repository to generate the artifacts
> BUT
> cxf-codegen-plugin in client2 fetch 
> com.company:company-services:1.0:catService
> instead of
> com.company:company-services:1.0:dogService
> In other words, the classifier of the second client project is ignored and the plugin uses for that the classifier present in the configuration of the first client.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)