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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to