When running mvn verify on Sling Scripting Groovy with the most recent version
of the maven-failsafe-plugin the following exceptions are emitted from the ITs
(leveraging Pax-Exam):
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.083 s
<<< FAILURE! - in
org.apache.sling.scripting.groovy.it.tests.GspScriptEngineFactoryIT
[ERROR]
initializationError(org.apache.sling.scripting.groovy.it.tests.GspScriptEngineFactoryIT)
Time elapsed: 0.004 s <<< ERROR!
org.ops4j.pax.exam.TestContainerException: java.lang.IllegalArgumentException:
Could not resolve version for groupId:org.apache.sling
artifactId:org.apache.sling.testing.paxexam by reading the dependency
information generated by maven.
at
org.apache.sling.scripting.groovy.it.tests.GspScriptEngineFactoryIT.configuration(GspScriptEngineFactoryIT.java:43)
Caused by: java.io.FileNotFoundException: File
[META-INF/maven/dependencies.properties] could not be found in classpath
at
org.apache.sling.scripting.groovy.it.tests.GspScriptEngineFactoryIT.configuration(GspScriptEngineFactoryIT.java:43)
The reason for that is that "META-INF/maven/dependencies.properties" is only
contained in "target/classes" but not in the actual bundle. m-f-p though uses
the actual JAR in the classpath which does not contain the output from
target/classes/META-INF/maven/dependencies.properties (being generated
org.apache.servicemix.tooling:depends-maven-plugin) since
https://issues.apache.org/jira/browse/SUREFIRE-855.
The dependencies.properties file is evaluated in
We could solve this issue in two ways:
1) Add META-INF/maven/dependencies.properties to the actual bundle JAR. For
that a custom Include-Resource instruction must be added to the
maven-bundle-plugin
(http://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html#include-resource).
2) Add this file as dedicated entry to the m-f-p classpath
(http://maven.apache.org/components/surefire/maven-failsafe-plugin/examples/configuring-classpath.html)
via the additionalClasspathElements configuration.
I would propose to use 2).
WDYT?
Konrad