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