I have found the cause of the Clover problem, and it appears to be an error in
the AppFuse POM.
Line 70 of the core POM is:
<propertyfile>target/test-classes/jdbc.properties</propertyfile>
Clover has to instrument the java code (unlike cobertura which instruments the
class files), so it copies everything to a separate directory and sets all the
maven variables to make it work. But the line above hard-codes one of the
locations that Clover has changed, so the Clover version of the code can't find
the file.
All works fine if you change the line above to:
<propertyfile>${project.build.testOutputDirectory}/jdbc.properties</propertyfile>
This is mentioned here as well (middle of section 9.2.1):
http://www.sonatype.com/books/mvnref-book/reference/resource-filtering-sect-properties.html
After the above change, Clover will run fine with the config given in my
previous mail.
Matt: I think it would be worth patching the source, unless I have missed
something?
Thanks,
Anthony.
________________________________
On the 30 November 2010 14:17 Josep García Wrote:
mvn site has its own lifecycle, and does not incluce process-test-resources.
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
What is the output in the console? Which are the goals executed when you issue
mvn site?
Josep
2010/11/30 Milbourne, Anthony
Hi All,
I am using the 2.1.0-M1 version of the modular spring archetype and I'm
trying to get Clover (3.0.2) working with AppFuse and I seem to be going
backwards :-(.
I have added a clover profile, as below (I have tried adding it to the
top level POM and the core sub-POM):
<profile>
<id>clover</id>
<build>
<plugins>
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-clover2-plugin</artifactId>
<configuration>
<license>
<![CDATA[OURLICENSEKEY]]>
</license>
</configuration>
<executions>
<execution>
<id>clover</id>
<phase>verify</phase>
<goals>
<goal>instrument</goal>
<goal>aggregate</goal>
</goals>
</execution>
<execution>
<phase>pre-site</phase>
<goals>
<goal>instrument</goal>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-clover2-plugin</artifactId>
</plugin>
</plugins>
</reporting>
</profile>
This seemed to conflict with the canoo testes in the web module so I
commented out the activation block that caused canoo to run, as so:
<!--activation>
<property>
<name>!skipTests</name>
</property>
</activation-->
I now have to run canoo manually with mvn verify -Pintegration-test,
but I can build the project and Clover does appear to run when I specify mvn
verify -Pclover. However, if I run mvn site -Pclover I get an error from
Hibernate as below:
The dialect was not set. Set the property hibernate.dialect.
Even if I explicitly set the DB profile with something like mvn site
-Pclover,h2 it still fails with the same error.
Has anyone else got Clover working with AppFuse? Matt, I read another
post where you mentioned that you used Clover, but I couldn't find any more
details apart from Dustin Pearce-2
<http://appfuse.547863.n4.nabble.com/template/NamlServlet.jtp?macro=user_nodes&user=37190>
's suggestion to add a dependency (which didn't seem to fix things).
Thanks,
Anthony.
===============================================================================
Please access the attached hyperlink for an important electronic communications
disclaimer:
http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html
===============================================================================