redfish4ktc / maven-soapui-extension-plugin

This plugin adds new features and bug fixes to SmartBear plugins: soapui-pro-maven-plugin and soapui-maven-plugin.
Apache License 2.0
45 stars 22 forks source link

Issue with fetching dependencies #85

Closed niranjanim closed 10 years ago

niranjanim commented 10 years ago

Hi

I ran into the following error message:

[ERROR] Failed to execute goal com.github.redfish4ktc.soapui:maven-soapui-extension-plugin:4.5.1.4:test (default) on project app: Execution default of goal com.github.redfish4ktc.soapui:maven-soapui-extension-plugin:4.5.1.4:test failed: A required class was missing while executing com.github.redfish4ktc.soapui:maven-soapui-extension-plugin:4.5.1.4:test: com/jgoodies/forms/builder/ButtonBarBuilder

My pom.xml contains the plugin settings as:

  <groupId>com.github.redfish4ktc.soapui</groupId>
  <artifactId>maven-soapui-extension-plugin</artifactId>
  <version>4.5.1.4</version>

And I was able to resolve it by adding the following dependency:

<dependency>
  <groupId>com.jgoodies</groupId>
  <artifactId>forms</artifactId>
  <version>1.0.7</version>
</dependency>
<dependency>
  <groupId>com.jgoodies</groupId>
  <artifactId>looks</artifactId>
  <version>2.2.0</version>
</dependency>

Removal of either of the dependencies causes the 'missing class issue'

Why should this dependency be added specifically? Shouldn't the plugin settings pull in all the required dependencies?

Note: updated by @redfish4ktc (xml rendering)

redfish4ktc commented 10 years ago

Hi, thanks for this feedback. I will 1st answer to your question then I will ask new ones to try to figure out what's going on.

My plugin implementation depends on Smartbear pro plugin, so almost all dependencies come from the SmartBear plugin. Until 4.5.1 version, the pro and oss SmartBear maven plugins declared all dependencies directly as soapui pom didn't do it. See it in the soapui repository Starting from 4.5.2, soapui pom manages the dependencies so the maven plugins declare only few (dependencies are retrieved transitively). But they exclude some expecially all jgoodies ones, see the pom of the 4.5.2 or 4.6.1 versions. So it seems that SmartBear developpers really wants not to have jgoodies as dependencies of the maven plugins

I looked on the soapui code to find where the missing ButtonBarBuilder class is called and I found it in some assertion classes: GroovyScriptAssertion, XPathContainsAssertion, XQueryContainsAssertion - see the code of the 4.6.1 version This could be a good candidates for your issue. In the same time, I've never heard about issue on xpath or groovy assertions with the maven plugin!

Could you

Thanks

redfish4ktc commented 10 years ago

I've found this post in the forum which shows that the jgoodies looks dependency was missing in 4.0.0 and an user complained about it

redfish4ktc commented 10 years ago

Finally, I've rechecked the pom of soapu-pro-maven-plugin and they only exclude forms and binding artifactIds. I'm currently working on supporting soapui 4.6.1. I'll ping you when a snapshot of the plugin will be available to let you give it a try.

redfish4ktc commented 10 years ago

@niranjanim I've released 4.6.x versions. Could you tell me if you still have the issue when using them? If you still need to used 4.5.1.x, I can make a fix but I need more information to reproduce the problem (see my previous comments)

redfish4ktc commented 10 years ago

A user has complained about this problem with the SmartBear 4.6.4 pro plugin, see its post. It seems to work with the oss plugin!

redfish4ktc commented 10 years ago

I've been able to reproduce the issue. As explain in the SoapUI forum post, the issue is raised when using the "Message Content assertion" (pro only feature, this assertion is skipped when running with the OSS plugin because it does not know this assertion).

The root cause can only be fixed in the soapui pro jar, so for now i will implement a workaround. Targetted version 4.6.4.0

redfish4ktc commented 10 years ago

For information, the bug exists in SmartBear implementations at least from 4.5.0 to 4.6.4 versions (so also maven-soapui-extension-plugin). 4.6.4-m-SNAPSHOT and 5.0.0-beta contain a fix.

Workaround for

redfish4ktc commented 10 years ago

A 4.6.4.0-SNAPSHOT version of the plugin with the fix is available for testing

redfish4ktc commented 10 years ago

Fixed in 4.6.4.0