Hi
I'm having a strange problem which I don't understand.
First of all, I'm using AspectJ (with OVal) to check method parameters. This is at the moment only done for test code.
Here is my POM:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="
http://maven.apache.org/POM/4.0.0" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>ch.ipi</groupId>
<artifactId>util</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>ch.ipi</groupId>
<artifactId>util-validation</artifactId>
<packaging>jar</packaging>
<version>1.0.0-SNAPSHOT</version>
<name>Validation Utilities</name>
<description>Validates Java Beans and method parameters.</description>
<scm>
<url>${cvs.url.esv}/${parent.artifactId}/${project.artifactId}</url>
<developerConnection>${cvs.connection.esv}/${parent.artifactId}/${project.artifactId}</developerConnection>
</scm>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>${aspectj-maven-plugin.version}</version>
<configuration>
<aspectDirectory>${java.test.default.directory}</aspectDirectory>
<source>${source.version}</source>
<target>${source.version}</target>
<complianceLevel>${source.version}</complianceLevel>
<encoding>${file.encoding}</encoding>
<showWeaveInfo>true</showWeaveInfo>
<verbose>true</verbose>
</configuration>
<executions>
<execution>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>net.sf.oval</groupId>
<artifactId>oval</artifactId>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</dependency>
<dependency>
<groupId>ch.ipi</groupId>
<artifactId>util-reflection</artifactId>
</dependency>
<dependency>
<groupId>ch.ipi</groupId>
<artifactId>util-global</artifactId>
</dependency>
<dependency>
<groupId>ch.ipi</groupId>
<artifactId>util-time</artifactId>
</dependency>
<dependency>
<groupId>ch.ipi</groupId>
<artifactId>util-testing</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-math</groupId>
<artifactId>commons-math</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
(Note that dependency versions and scope are defined in the parent POM)
If I start the build with 'mvn clean package', everything works fine, including tests which depend on AspectJ working.
However, if I do 'mvn clean package findbugs:findbugs', there are compile errors:
...
Tests run: 40, Failures: 0, Errors: 0, Skipped: 0
[INFO] [jar:jar]
...
[INFO] Preparing findbugs:findbugs
[INFO] [resources:resources]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] [compiler:compile]
[INFO] Compiling 25 source files to ...
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
.../util-validation/src/test/java/ch/ipi/esv/util/validation/text/CharacterCheckerTest.java:[6,16] package org.junit does not exist
.../util-validation/src/test/java/ch/ipi/esv/util/validation/text/CharacterCheckerTest.java:[7,16] package org.junit does not exist
etc. etc.
This is my Findbugs configuration:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<configuration>
<findbugsXmlOutput>true</findbugsXmlOutput>
<findbugsXmlWithMessages>true</findbugsXmlWithMessages>
<xmlOutput>true</xmlOutput>
<effort>Max</effort>
<excludeFilterFile>${build.home}findbugs/findbugs-exclude.xml</excludeFilterFile>
</configuration>
</plugin>
It seems to me that using the Findbugs plugin rebuilds the whole project. Is that right?
Anyway, I don't understand why it would build the tests, since by default <includeTests> is 'false'.
Running the build with -X seems to confirm what I suspect:
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile' -->
...
[DEBUG] (f) compileSourceRoots = [.../util-validation/src/main/java, .../util-validation/src/test/java]
Any hints?
Thanks & best regards,
Eric
---------------------------------------------------------------------
To unsubscribe, e-mail:
users-unsubscribe@...
For additional commands, e-mail:
users-help@...