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)